/*=============================================================================================	
    Company    : PT Web Architect Technology - webarq.com
    Document   : Stylesheet
    Author     : Iqbal Wahyudi Pratama - iqbalwahyudip.com
==============================================================================================*/
/*=============================================================================================	
    Company    : PT Web Architect Technology - webarq.com
    Document   : Stylesheet
    Author     : FrontEnd Team  
==============================================================================================*/
/* import bourbon - http://bourbon.io/docs */
/* color global
----------------------------------------------------------------------------------------------*/
/*font*/
/*general*/
.btn-rounded {
  display: inline-block;
  font-size: 16px;
  color: #fff;
  background: #fa4573;
  text-align: center;
  height: 40px;
  line-height: 40px;
  border-radius: 40px;
  -webkit-border-radius: 40px;
  -moz-border-radius: 40px;
  -ms-border-radius: 40px;
  -o-border-radius: 40px;
  border: 1px solid #fa4573;
  transition: 0.2s all ease-out;
  -webkit-transition: 0.2s all ease-out;
  -moz-transition: 0.2s all ease-out;
  -ms-transition: 0.2s all ease-out;
  -o-transition: 0.2s all ease-out;
  padding: 0 20px;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  font-family: "Fredoka One", cursive;
  cursor: pointer;
}

.btn-rounded:hover {
  color: #fa4573;
  background: #fff;
}

.btn-rounded.btn-darkblue {
  background: #42558c;
  border-color: #42558c;
  color: #fff;
}

.btn-rounded.btn-darkblue:hover {
  color: #42558c;
  background: #fff;
}

.btn-rounded.btn-sm {
  line-height: 50px;
  height: 50px;
  padding: 0 50px;
  font-size: 18px;
}

.btn-rounded.btn-md {
  line-height: 60px;
  height: 60px;
  padding: 0 40px;
  min-width: 270px;
}

.btn-rounded.btn-pencil {
  background: #e6f6fd;
  min-width: 265px;
  padding: 0 40px;
  color: #00a7e1;
  border-color: transparent;
  height: 52px;
  line-height: 52px;
  font-size: 16px;
  vertical-align: middle;
}

.btn-rounded.btn-pencil .icwp {
  vertical-align: middle;
  margin-right: 8px;
  margin-top: -3px;
}

.btn-rounded.btn-pencil:hover {
  background: #00a7e1;
  color: #fff;
}

.btn-rounded.btn-pencil:hover .icwp {
  background-image: url("../images/material/ic_pencil_white.png");
}

.btn-mid-rounded {
  display: inline-block;
  font-size: 16px;
  color: #42558c;
  background: #fff;
  text-align: center;
  height: 30px;
  line-height: 28px;
  border-radius: 5px;
  -webkit-border-radius: 5px;
  -moz-border-radius: 5px;
  -ms-border-radius: 5px;
  -o-border-radius: 5px;
  border: 1px solid #42558c;
  transition: 0.2s all ease-out;
  -webkit-transition: 0.2s all ease-out;
  -moz-transition: 0.2s all ease-out;
  -ms-transition: 0.2s all ease-out;
  -o-transition: 0.2s all ease-out;
  padding: 0 10px;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  font-family: "Fredoka One", cursive;
  cursor: pointer;
}

.btn-mid-rounded:hover {
  background: #42558c;
  color: #fff;
}

.btn-mid-rounded.btn-reply .ic_reply {
  vertical-align: middle;
  margin-top: -4px;
  margin-right: 3px;
}

.btn-mid-rounded.btn-reply:hover .ic_reply {
  background-image: url("../images/material/ic_reply_white.png");
}

.link-blue {
  color: #00a7e1;
  transition: 0.2s all ease-out;
  -webkit-transition: 0.2s all ease-out;
  -moz-transition: 0.2s all ease-out;
  -ms-transition: 0.2s all ease-out;
  -o-transition: 0.2s all ease-out;
}

.link-blue:hover {
  color: #fa4573;
}

.link-pink {
  color: #fa4573;
  transition: 0.2s all ease-out;
  -webkit-transition: 0.2s all ease-out;
  -moz-transition: 0.2s all ease-out;
  -ms-transition: 0.2s all ease-out;
  -o-transition: 0.2s all ease-out;
  text-decoration: underline;
}

.link-pink:hover {
  color: #00a7e1;
}

.link-pink.noborder {
  text-decoration: none;
}

.link-white {
  color: #fff;
  transition: 0.2s all ease-out;
  -webkit-transition: 0.2s all ease-out;
  -moz-transition: 0.2s all ease-out;
  -ms-transition: 0.2s all ease-out;
  -o-transition: 0.2s all ease-out;
}

.link-white:hover {
  color: #fff;
  text-decoration: underline;
}

.link-icon {
  display: inline-block;
  color: #999999;
  font-size: 13px;
  font-family: "Lato", sans-serif;
  line-height: 18px;
  position: relative;
}

.link-icon.l-edit {
  padding-right: 22px;
}

.link-icon.l-edit:before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  width: 14px;
  height: 14px;
  background: url("../images/material/ic_edit.png") no-repeat center;
}

.link-icon.l-edit:hover {
  color: #00a7e1;
}

.link-icon.l-delete {
  padding-right: 22px;
}

.link-icon.l-delete:before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  width: 14px;
  height: 14px;
  background: url("../images/material/ic_delete.png") no-repeat center;
}

.link-icon.l-delete:hover {
  color: #fa4573;
}

.tdarkblue {
  color: #42558c;
}

.tpink {
  color: #fa4573;
}

.tblue {
  color: #00a7e1;
}

.tpurple {
  color: #a186be;
}

.a-center {
  text-align: center;
}

.a-right {
  text-align: right;
}

.a-left {
  text-align: left;
}

.icwp {
  display: inline-block;
  width: 24px;
  height: 24px;
  background-repeat: no-repeat;
  background-position: top center;
}

.icwp:hover {
  background-position: bottom center;
}

.icwp.ic_viewers {
  background-image: url("../images/material/ic_viewers.png");
  width: 17px;
  height: 10px;
  vertical-align: middle;
}

.icwp.ic_comments {
  background-image: url("../images/material/ic_comments.png");
  width: 13px;
  height: 11px;
  vertical-align: middle;
}

.icwp.ic_question {
  background-image: url("../images/material/ic_question.png");
  width: 84px;
  height: 84px;
  vertical-align: middle;
}

.icwp.ic_pencil {
  background-image: url("../images/material/ic_pencil.png");
  width: 18px;
  height: 18px;
  vertical-align: middle;
}

.icwp.ic_reply {
  background-image: url("../images/material/ic_reply.png");
  width: 14px;
  height: 14px;
  vertical-align: middle;
}

.row_list {
  margin-left: -15px;
  margin-right: -15px;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}

.row_list * {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}

.row_list:after {
  content: "";
  display: table;
  clear: both;
}

.row_list .col {
  width: 100%;
  padding: 0 15px;
  float: left;
}

.row_list .col.fr {
  float: right;
}

.row_list .col.no-pad {
  padding: 0;
}

.row_list .col.marg28 {
  margin-bottom: 28px;
}

.row_list .col.col_9 {
  width: 90%;
}

.row_list .col.col_8 {
  width: 80%;
}

.row_list .col.col_7 {
  width: 70%;
}

.row_list .col.col_66 {
  width: 66.66666666666666%;
}

.row_list .col.col_65 {
  width: 65%;
}

.row_list .col.col_6 {
  width: 60%;
}

.row_list .col.col_55 {
  width: 55%;
}

.row_list .col.col_5 {
  width: 50%;
}

.row_list .col.col_45 {
  width: 45%;
}

.row_list .col.col_4 {
  width: 40%;
}

.row_list .col.col_37 {
  width: 37%;
}

.row_list .col.col_35 {
  width: 35%;
}

.row_list .col.col_33 {
  width: 33.3333333333333%;
}

.row_list .col.col_3 {
  width: 30%;
}

.row_list .col.col_25 {
  width: 25%;
}

.row_list .col.col_2 {
  width: 20%;
}

.row_list .col.col_16 {
  width: 16.66666666666666%;
}

.row_list .col.col_1 {
  width: 10%;
}

.row_list.center {
  text-align: center;
}

.row_list.center .col {
  float: none;
  display: inline-block;
}

.row_list.listfull {
  margin-left: 0;
  margin-right: 0;
}

.row_list.listfull .col {
  padding: 0;
}

.row_list.listp5 {
  margin-left: -5px;
  margin-right: -5px;
}

.row_list.listp5 .col {
  padding: 0 5px;
}

/*end general*/
.ctn-padd {
  padding-bottom: 100px;
}

.paddtop {
  padding-top: 185px;
}

.paddtop-sm {
  padding-top: 120px;
}

.body-grey {
  background: #fafafa;
}

.banner-content {
  position: relative;
}

.banner-content figure img {
  width: 100%;
}

.banner-content h1 {
  color: #00a7e1;
  font-size: 50px;
  font-family: "Fredoka One", cursive;
  font-weight: 400;
  margin-bottom: 15px;
}

.banner-content h5 {
  color: #5ca1b6;
  font-size: 20px;
  line-height: 30px;
  font-family: "Montserrat", sans-serif;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.banner-content .desc {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  margin: 5% auto;
  text-align: center;
  color: #5ca1b6;
  width: 630px;
}

.banner-content.margtop {
  margin-top: 100px;
}

.banner-content.pink h1 {
  color: #fa4573;
}

.banner-content.pink h5 {
  color: #b47495;
}

.categories {
  text-align: center;
  padding: 40px 0;
  background: #fff;
  position: relative;
  margin-bottom: 58px;
}

.categories:before {
  content: "";
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  height: 11px;
  background: url("../images/material/categories-shadow.png") no-repeat center top;
  background-size: 100%;
}

.categories .ls-categories {
  display: inline-block;
  width: 170px;
  text-align: left;
  margin: 0 30px;
  position: relative;
}

.categories .ls-categories:before {
  content: "";
  position: absolute;
  bottom: -42px;
  left: 0;
  right: 0;
  height: 0;
  transition: 0.2s all ease-out;
  -webkit-transition: 0.2s all ease-out;
  -moz-transition: 0.2s all ease-out;
  -ms-transition: 0.2s all ease-out;
  -o-transition: 0.2s all ease-out;
}

.categories .ls-categories .img {
  float: left;
  width: 40%;
}

.categories .ls-categories .text {
  float: right;
  width: 55%;
  font-size: 14px;
  line-height: 14px;
  text-transform: uppercase;
  padding-top: 20px;
}

.categories .ls-categories.pink {
  color: #fa4573;
}

.categories .ls-categories.pink:before {
  background: #fa4573;
}

.categories .ls-categories.purple {
  color: #a186be;
}

.categories .ls-categories.purple:before {
  background: #a186be;
}

.categories .ls-categories.green {
  color: #4ec287;
}

.categories .ls-categories.green:before {
  background: #4ec287;
}

.categories .ls-categories.blue {
  color: #35a3b0;
}

.categories .ls-categories.blue:before {
  background: #35a3b0;
}

.categories .ls-categories.pink2 {
  color: #d75866;
}

.categories .ls-categories.pink2:before {
  background: #d75866;
}

.categories .ls-categories.orange {
  color: #f29a4e;
}

.categories .ls-categories.orange:before {
  background: #f29a4e;
}

.categories .ls-categories.purple2 {
  color: #9b4274;
}

.categories .ls-categories.purple2:before {
  background: #9b4274;
}

.categories .ls-categories:first-child {
  margin-left: 0;
}

.categories .ls-categories:last-child {
  margin-right: 0;
}

.categories .ls-categories:hover:before, .categories .ls-categories.active:before {
  height: 3px;
}

.thumblist {
  margin: 0 -15px 30px;
}

.thumblist:after {
  content: "";
  clear: both;
  display: block;
}

.thumblist .ls-thumb {
  width: 25%;
  float: left;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  padding: 0 15px;
  margin-bottom: 30px;
  position: relative;
  z-index: 1;
}

.thumblist .ls-thumb h6 {
  font-size: 18px;
  color: #727272;
}

.thumblist .ls-thumb figure {
  margin-bottom: 10px;
  border-radius: 10px 10px 0 0;
  -webkit-border-radius: 10px 10px 0 0;
  -moz-border-radius: 10px 10px 0 0;
  -ms-border-radius: 10px 10px 0 0;
  -o-border-radius: 10px 10px 0 0;
  overflow: hidden;
  position: relative;
  z-index: 2;
}

.thumblist .ls-thumb figure img {
  width: 100%;
}

.thumblist .ls-thumb .in-thumb {
  position: relative;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}

.thumblist .ls-thumb .in-thumb:before {
  content: "";
  position: absolute;
  top: -1px;
  left: -1px;
  bottom: 0;
  right: -1px;
  border: 1px solid #f0f0f0;
  border-radius: 10px;
  -webkit-border-radius: 10px;
  -moz-border-radius: 10px;
  -ms-border-radius: 10px;
  -o-border-radius: 10px;
  background: #fff;
  transition: 0.1s all ease-out;
  -webkit-transition: 0.1s all ease-out;
  -moz-transition: 0.1s all ease-out;
  -ms-transition: 0.1s all ease-out;
  -o-transition: 0.1s all ease-out;
}

.thumblist .ls-thumb .in-thumb .ic-thumb {
  position: absolute;
  top: 10px;
  right: 10px;
  z-index: 3;
}

.thumblist .ls-thumb .in-thumb .box-ico {
  position: absolute;
  right: 30px;
  top: 10px;
  z-index: 4;
  display: inline-block;
}

.thumblist .ls-thumb .in-thumb .ico {
  border-radius: 100%;
  padding: 5px;
  float: right;
  margin-left: 10px;
}

.thumblist .ls-thumb .in-thumb .ico img {
  width: 25px;
  -webkit-filter: brightness(0) invert(1);
  filter: brightness(0) invert(1);
}

.thumblist .ls-thumb .in-thumb.perkembangan1:hover .ico {
  background-color: #4ec287;
}

.thumblist .ls-thumb .in-thumb.perkembangan1:hover .ico img {
  width: 25px;
  -webkit-filter: brightness(0) invert(1);
  filter: brightness(0) invert(1);
}

.thumblist .ls-thumb .in-thumb.perkembangan1 .ico {
  background-color: #4ec287;
}

.thumblist .ls-thumb .in-thumb.perkembangan2:hover .ico {
  background-color: #4ea9ad;
}

.thumblist .ls-thumb .in-thumb.perkembangan2:hover .ico img {
  width: 25px;
  -webkit-filter: brightness(0) invert(1);
  filter: brightness(0) invert(1);
}

.thumblist .ls-thumb .in-thumb.perkembangan2 .ico {
  background-color: #4ea9ad;
}

.thumblist .ls-thumb .in-thumb.perkembangan3:hover .ico {
  background-color: #d75866;
}

.thumblist .ls-thumb .in-thumb.perkembangan3:hover .ico img {
  width: 25px;
  -webkit-filter: brightness(0) invert(1);
  filter: brightness(0) invert(1);
}

.thumblist .ls-thumb .in-thumb.perkembangan3 .ico {
  background-color: #d75866;
}

.thumblist .ls-thumb .in-thumb.perkembangan4:hover .ico {
  background-color: #f29a4e;
}

.thumblist .ls-thumb .in-thumb.perkembangan4:hover .ico img {
  width: 25px;
  -webkit-filter: brightness(0) invert(1);
  filter: brightness(0) invert(1);
}

.thumblist .ls-thumb .in-thumb.perkembangan4 .ico {
  background-color: #f29a4e;
}

.thumblist .ls-thumb .in-thumb.perkembangan5:hover .ico {
  background-color: #9b4274;
}

.thumblist .ls-thumb .in-thumb.perkembangan5:hover .ico img {
  width: 25px;
  -webkit-filter: brightness(0) invert(1);
  filter: brightness(0) invert(1);
}

.thumblist .ls-thumb .in-thumb.perkembangan5 .ico {
  background-color: #9b4274;
}

.thumblist .ls-thumb .desc {
  padding: 0 24px 25px;
  text-align: center;
  position: relative;
  z-index: 2;
}

.thumblist .ls-thumb .desc .text {
  transition: 0.2s all ease-out;
  -webkit-transition: 0.2s all ease-out;
  -moz-transition: 0.2s all ease-out;
  -ms-transition: 0.2s all ease-out;
  -o-transition: 0.2s all ease-out;
}

.thumblist .ls-thumb .desc .link {
  position: absolute;
  top: -20px;
  left: 0;
  right: 0;
  padding: 0 24px 20px;
  opacity: 0;
  visibility: hidden;
  transition: 0.2s all ease-out;
  -webkit-transition: 0.2s all ease-out;
  -moz-transition: 0.2s all ease-out;
  -ms-transition: 0.2s all ease-out;
  -o-transition: 0.2s all ease-out;
}

.thumblist .ls-thumb .desc .link .btn-rounded {
  clear: both;
  display: block;
  margin-bottom: 15px;
}

.thumblist .ls-thumb .desc .link .link-blue {
  clear: both;
  display: block;
}

.thumblist .ls-thumb:hover {
  z-index: 2;
}

.thumblist .ls-thumb:hover .in-thumb:before {
  border-color: #fa4573;
  bottom: -30px;
  z-index: 2;
}

.thumblist .ls-thumb:hover .in-thumb .ico {
  background-color: #fff;
}

.thumblist .ls-thumb:hover .in-thumb .ico img {
  -webkit-filter: unset;
  filter: unset;
}

.thumblist .ls-thumb:hover .desc .text {
  opacity: 0;
  visibility: hidden;
}

.thumblist .ls-thumb:hover .desc .link {
  opacity: 1;
  visibility: visible;
}

.thumblist .ls-thumb:nth-child(4n+1) {
  clear: both;
}

.pagination {
  display: block;
  text-align: center;
}

.pagination a {
  display: inline-block;
  width: 40px;
  height: 40px;
  line-height: 40px;
  text-align: center;
  font-size: 14px;
  font-family: "Fredoka One", cursive;
  color: #999999;
  border-radius: 100%;
  -webkit-border-radius: 100%;
  -moz-border-radius: 100%;
  -ms-border-radius: 100%;
  -o-border-radius: 100%;
  margin: 0 5px;
  vertical-align: middle;
  position: relative;
  transition: 0.2s all ease-out;
  -webkit-transition: 0.2s all ease-out;
  -moz-transition: 0.2s all ease-out;
  -ms-transition: 0.2s all ease-out;
  -o-transition: 0.2s all ease-out;
}

.pagination a:hover, .pagination a.active {
  background: #fa4573;
  color: #fff;
}

.pagination a.prev {
  background: url("../images/material/prev-slide-grey.png") no-repeat center;
  margin-right: 30px;
  left: 0;
}

.pagination a.prev:hover {
  left: -5px;
}

.pagination a.next {
  background: url("../images/material/next-slide-grey.png") no-repeat center;
  margin-left: 30px;
  right: 0;
}

.pagination a.next:hover {
  right: -5px;
}

.prod-detail {
  padding-bottom: 75px;
  position: relative;
  margin-bottom: 68px;
}

.prod-detail:after {
  content: "";
  clear: both;
  display: block;
}

.prod-detail:before {
  content: "";
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  height: 11px;
  background: url("../images/material/categories-shadow.png") no-repeat center;
  background-size: 100%;
}

.prod-detail h2 {
  font-size: 40px;
  margin-bottom: 30px;
}

.prod-detail p {
  font-size: 16px;
  line-height: 24px;
  font-family: "Lato", sans-serif;
  color: #4f4f51;
}

.prod-detail > .left {
  width: 42.73%;
}

.prod-detail > .right {
  width: 48.71%;
}

.slide-lg {
  margin-bottom: 20px;
}

.dots-slide-lg .list {
  width: 50px;
  width: 50px;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  padding: 10px;
  border-radius: 100%;
  -webkit-border-radius: 100%;
  -moz-border-radius: 100%;
  -ms-border-radius: 100%;
  -o-border-radius: 100%;
  border: 1px solid transparent;
  margin: 0 5px;
}

.dots-slide-lg .list figure img {
  width: 100%;
  object-fit: cover;
}

.dots-slide-lg .list:hover, .dots-slide-lg .list.slick-current {
  border-color: #d5d5d5;
}

.tags-category {
  margin-bottom: 15px;
}

.tags-category > i {
  display: inline-block;
  vertical-align: middle;
  margin-right: 12px;
}

.tags-category h6 {
  display: inline-block;
  font-size: 16px;
  color: #a186be;
}

.accordion-wp {
  margin-bottom: 45px;
}

.accordion-wp .ls-acc-wp {
  border-bottom: 1px solid #eaeaea;
}

.accordion-wp .ls-acc-wp .btn-acc {
  display: block;
  font-size: 18px;
  font-family: "Fredoka One", cursive;
  padding: 18px 15px;
  color: #4f4f51;
  cursor: pointer;
  position: relative;
}

.accordion-wp .ls-acc-wp .btn-acc:before {
  content: "";
  position: absolute;
  top: 50%;
  right: 15px;
  width: 19px;
  height: 3px;
  background: #fa4573;
  display: block;
  margin-top: -1px;
}

.accordion-wp .ls-acc-wp .btn-acc:after {
  content: "";
  position: absolute;
  top: 50%;
  right: 15px;
  width: 19px;
  height: 3px;
  background: #fa4573;
  display: block;
  transform: rotate(90deg);
  -webkit-transform: rotate(90deg);
  -moz-transform: rotate(90deg);
  -ms-transform: rotate(90deg);
  -o-transform: rotate(90deg);
  margin-top: -1px;
  transition: 0.2s all ease-out;
  -webkit-transition: 0.2s all ease-out;
  -moz-transition: 0.2s all ease-out;
  -ms-transition: 0.2s all ease-out;
  -o-transition: 0.2s all ease-out;
}

.accordion-wp .ls-acc-wp .drop-acc {
  padding: 10px 15px 15px;
  display: none;
}

.accordion-wp .ls-acc-wp:hover .btn-acc {
  background: #f3f3f3;
}

.accordion-wp .ls-acc-wp.active .btn-acc:after {
  transform: rotate(0);
  -webkit-transform: rotate(0);
  -moz-transform: rotate(0);
  -ms-transform: rotate(0);
  -o-transform: rotate(0);
}

.accordion-wp .ls-acc-wp.active .drop-acc {
  display: block;
}

.accordion-wp .ls-acc-wp:first-child {
  border-top: 1px solid #eaeaea;
}

.sidecart label {
  display: inline-block;
  vertical-align: middle;
  margin-right: 30px;
  color: #727272;
  font-family: "Lato", sans-serif;
  font-size: 16px;
}

.sidecart .box-sosmed {
  display: inline-block;
  vertical-align: middle;
}

.sidecart > .right {
  padding-top: 18px;
}

.box-sosmed a {
  display: inline-block;
  width: 24px;
  height: 24px;
  background-repeat: no-repeat;
  background-position: center;
  margin-left: 20px;
}

.box-sosmed a.fb {
  background-image: url("../images/material/ic_fb.png");
}

.box-sosmed a.tw {
  background-image: url("../images/material/ic_tw.png");
}

.box-sosmed a.gplus {
  background-image: url("../images/material/ic_gplus.png");
}

.box-sosmed a:first-child {
  margin-left: 0;
}

.box-sosmed a:hover {
  opacity: .7;
}

.other-product h3 {
  font-size: 30px;
}

.box-thumbtwo {
  margin: 0 -15px;
  margin-bottom: 40px;
  text-align: center;
}

.box-thumbtwo:after {
  content: "";
  clear: both;
  display: block;
}

.box-thumbtwo .ls-thumbtwo {
  width: 24%;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  padding: 0 15px;
  margin-bottom: 30px;
  position: relative;
  display: inline-block;
}

.box-thumbtwo .ls-thumbtwo figure {
  border-radius: 10px 10px 0 0;
  -webkit-border-radius: 10px 10px 0 0;
  -moz-border-radius: 10px 10px 0 0;
  -ms-border-radius: 10px 10px 0 0;
  -o-border-radius: 10px 10px 0 0;
  overflow: hidden;
}

.box-thumbtwo .ls-thumbtwo figure img {
  width: 100%;
}

.box-thumbtwo .ls-thumbtwo .btn-plus {
  position: absolute;
  top: 10px;
  right: 25px;
  border-radius: 100%;
  -webkit-border-radius: 100%;
  -moz-border-radius: 100%;
  -ms-border-radius: 100%;
  -o-border-radius: 100%;
  background: #fff;
  width: 32px;
  height: 32px;
}

.box-thumbtwo .ls-thumbtwo .btn-plus span {
  display: block;
  width: 14px;
  height: 2px;
  background: #42558c;
  position: absolute;
  top: 50%;
  left: 0;
  right: 0;
  margin: -1px auto 0;
}

.box-thumbtwo .ls-thumbtwo .btn-plus span:last-child {
  transform: rotate(90deg);
  -webkit-transform: rotate(90deg);
  -moz-transform: rotate(90deg);
  -ms-transform: rotate(90deg);
  -o-transform: rotate(90deg);
}

.box-thumbtwo .ls-thumbtwo .desc {
  border-radius: 0 0 10px 10px;
  -webkit-border-radius: 0 0 10px 10px;
  -moz-border-radius: 0 0 10px 10px;
  -ms-border-radius: 0 0 10px 10px;
  -o-border-radius: 0 0 10px 10px;
  color: #fff;
  padding: 20px;
  background: #42558c;
}

.box-thumbtwo .ls-thumbtwo .desc h6 {
  font-family: "Lato", sans-serif;
  margin-bottom: 8px;
  font-size: 16px;
}

.box-thumbtwo .ls-thumbtwo .desc h4 {
  font-size: 20px;
  line-height: 25px;
}

.box-thumbtwo .ls-thumbtwo .desc.blue {
  background: #42558c;
}

.box-thumbtwo .ls-thumbtwo .desc.pink {
  background: #f94b3b;
}

.box-thumbtwo .ls-thumbtwo .desc.yellow {
  background: #fa9c08;
}

.box-thumbtwo .ls-thumbtwo .desc.purple {
  background: #a22f6e;
}

.box-thumbtwo .ls-thumbtwo .in-thumbtwo {
  border-radius: 10px;
  -webkit-border-radius: 10px;
  -moz-border-radius: 10px;
  -ms-border-radius: 10px;
  -o-border-radius: 10px;
  transition: 0.2s all ease-out;
  -webkit-transition: 0.2s all ease-out;
  -moz-transition: 0.2s all ease-out;
  -ms-transition: 0.2s all ease-out;
  -o-transition: 0.2s all ease-out;
  cursor: pointer;
}

.box-thumbtwo .ls-thumbtwo:hover .in-thumbtwo {
  box-shadow: 5px 5px 20px -5px rgba(0, 0, 0, 0.5);
  -webkit-box-shadow: 5px 5px 20px -5px rgba(0, 0, 0, 0.5);
  -moz-box-shadow: 5px 5px 20px -5px rgba(0, 0, 0, 0.5);
  -ms-box-shadow: 5px 5px 20px -5px rgba(0, 0, 0, 0.5);
  -o-box-shadow: 5px 5px 20px -5px rgba(0, 0, 0, 0.5);
}

.bx-grey {
  background: #f5f5f5;
  padding: 54px 70px;
  border-radius: 5px;
  -webkit-border-radius: 5px;
  -moz-border-radius: 5px;
  -ms-border-radius: 5px;
  -o-border-radius: 5px;
  margin-bottom: 40px;
}

.bx-grey:after {
  content: "";
  clear: both;
  display: block;
}

.bx-grey h3 {
  font-size: 30px;
  margin-bottom: 20px;
}

.bx-grey .ic_question {
  margin-top: 15px;
}

.box-sort {
  margin-bottom: 20px;
}

.box-sort:after {
  content: "";
  clear: both;
  display: block;
}

.box-sort label {
  font-size: 14px;
  font-weight: 600;
  font-family: "Lato", sans-serif;
  color: #666666;
  margin-right: 20px;
}

.box-sort select {
  height: 40px;
  padding: 0 30px 0 15px;
  background: #fff url("../images/material/arr-select.png") no-repeat center right;
  border: 1px solid #eaeaea;
  border-radius: 5px;
  -webkit-border-radius: 5px;
  -moz-border-radius: 5px;
  -ms-border-radius: 5px;
  -o-border-radius: 5px;
  font-family: "Lato", sans-serif;
  font-size: 14px;
  min-width: 200px;
}

.box-question {
  margin-bottom: 30px;
}

.box-question .ls-question {
  display: block;
  padding: 20px 30px;
  border: 1px solid #eaeaea;
  margin-bottom: 10px;
  border-radius: 3px;
  -webkit-border-radius: 3px;
  -moz-border-radius: 3px;
  -ms-border-radius: 3px;
  -o-border-radius: 3px;
  transition: 0.2s all ease-out;
  -webkit-transition: 0.2s all ease-out;
  -moz-transition: 0.2s all ease-out;
  -ms-transition: 0.2s all ease-out;
  -o-transition: 0.2s all ease-out;
}

.box-question .ls-question h6 {
  font-family: "Lato", sans-serif;
  font-size: 16px;
  font-weight: 700;
  color: #a22f6e;
  line-height: 22px;
  margin-bottom: 5px;
}

.box-question .ls-question h4 {
  font-family: "Lato", sans-serif;
  font-weight: 500;
  color: #4f4f51;
  font-size: 20px;
  line-height: 28px;
  margin-bottom: 20px;
}

.box-question .ls-question .qst-status {
  color: #999999;
  font-family: "Lato", sans-serif;
  font-size: 16px;
}

.box-question .ls-question .qst-status:after {
  content: "";
  clear: both;
  display: block;
}

.box-question .ls-question:hover {
  box-shadow: 0 5px 20px -5px rgba(0, 0, 0, 0.1);
  -webkit-box-shadow: 0 5px 20px -5px rgba(0, 0, 0, 0.1);
  -moz-box-shadow: 0 5px 20px -5px rgba(0, 0, 0, 0.1);
  -ms-box-shadow: 0 5px 20px -5px rgba(0, 0, 0, 0.1);
  -o-box-shadow: 0 5px 20px -5px rgba(0, 0, 0, 0.1);
}

.box-form input[type=text],
.box-form input[type=password],
.box-form input[type=number],
.box-form input[type=email],
.box-form textarea, .box-form select {
  width: 100%;
  padding: 0 25px;
  height: 60px;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  background: #f5f5f5;
  border: none;
  border-radius: 10px;
  -webkit-border-radius: 10px;
  -moz-border-radius: 10px;
  -ms-border-radius: 10px;
  -o-border-radius: 10px;
  color: #555555;
  font-family: "Lato", sans-serif;
  font-size: 16px;
}

.box-form input[type=text]::-webkit-input-placeholder,
.box-form input[type=password]::-webkit-input-placeholder,
.box-form input[type=number]::-webkit-input-placeholder,
.box-form input[type=email]::-webkit-input-placeholder,
.box-form textarea::-webkit-input-placeholder, .box-form select::-webkit-input-placeholder {
  color: #999999;
}

.box-form input[type=text]:-moz-placeholder,
.box-form input[type=password]:-moz-placeholder,
.box-form input[type=number]:-moz-placeholder,
.box-form input[type=email]:-moz-placeholder,
.box-form textarea:-moz-placeholder, .box-form select:-moz-placeholder {
  color: #999999;
}

.box-form input[type=text]::-moz-placeholder,
.box-form input[type=password]::-moz-placeholder,
.box-form input[type=number]::-moz-placeholder,
.box-form input[type=email]::-moz-placeholder,
.box-form textarea::-moz-placeholder, .box-form select::-moz-placeholder {
  color: #999999;
}

.box-form input[type=text]:-ms-input-placeholder,
.box-form input[type=password]:-ms-input-placeholder,
.box-form input[type=number]:-ms-input-placeholder,
.box-form input[type=email]:-ms-input-placeholder,
.box-form textarea:-ms-input-placeholder, .box-form select:-ms-input-placeholder {
  color: #999999;
}

.box-form select {
  background: #f5f5f5 url("../images/material/arr-select.png") no-repeat center right;
}

.box-form textarea {
  resize: none;
  padding: 20px 25px;
  height: 240px;
}

.box-form label {
  display: block;
  font-size: 16px;
  color: #3481a5;
  margin-bottom: 10px;
  line-height: 20px;
}

.box-form .col {
  margin-bottom: 25px;
}

.box-form .col.nomarg {
  margin-bottom: 0;
}

.wpcontent h2 {
  font-size: 40px;
}

.wpcontent h3 {
  font-size: 30px;
}

.wel {
  font-family: "Lato", sans-serif;
  margin-bottom: 20px;
  font-size: 16px;
  font-weight: 700;
}

.banner-box {
  position: relative;
  min-height: 220px;
  border-radius: 10px;
  -webkit-border-radius: 10px;
  -moz-border-radius: 10px;
  -ms-border-radius: 10px;
  -o-border-radius: 10px;
  overflow: hidden;
  margin-bottom: 30px;
}

.banner-box figure {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 1;
}

.banner-box figure img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.banner-box .desc {
  position: relative;
  z-index: 2;
  padding: 65px 60px 0;
  color: #b47495;
}

.banner-box .desc h2 {
  font-size: 40px;
  color: #e96ca9;
  margin-bottom: 20px;
  width: 780px;
  max-width: 100%;
}

.banner-box .desc p {
  font-family: "Montserrat", sans-serif;
  font-size: 16px;
  line-height: 24px;
  margin-bottom: 0;
  width: 640px;
  max-width: 100%;
}

.boxside:after {
  content: "";
  clear: both;
  display: block;
}

.boxside article {
  float: left;
  width: 63.5%;
}

.boxside aside {
  float: right;
  width: 34.3%;
}

.tab-wp {
  background: #fff;
  border-radius: 10px;
  -webkit-border-radius: 10px;
  -moz-border-radius: 10px;
  -ms-border-radius: 10px;
  -o-border-radius: 10px;
  box-shadow: 0 0 20px -5px rgba(0, 0, 0, 0.05);
  -webkit-box-shadow: 0 0 20px -5px rgba(0, 0, 0, 0.05);
  -moz-box-shadow: 0 0 20px -5px rgba(0, 0, 0, 0.05);
  -ms-box-shadow: 0 0 20px -5px rgba(0, 0, 0, 0.05);
  -o-box-shadow: 0 0 20px -5px rgba(0, 0, 0, 0.05);
  margin-bottom: 20px;
}

.tab-wp .btn-tab-wp {
  padding: 0 40px;
  border-bottom: 1px solid #cccccc;
}

.tab-wp .btn-tab-wp a {
  display: inline-block;
  margin: 0 17px;
  padding: 20px 5px;
  position: relative;
  font-size: 18px;
  color: #999999;
  transition: 0.1s all ease-out;
  -webkit-transition: 0.1s all ease-out;
  -moz-transition: 0.1s all ease-out;
  -ms-transition: 0.1s all ease-out;
  -o-transition: 0.1s all ease-out;
}

.tab-wp .btn-tab-wp a:before {
  content: "";
  position: absolute;
  bottom: -2px;
  left: 0;
  right: 0;
  background: #00a7e1;
  height: 3px;
  width: 0;
  margin: 0 auto;
  transition: 0.1s all ease-out;
  -webkit-transition: 0.1s all ease-out;
  -moz-transition: 0.1s all ease-out;
  -ms-transition: 0.1s all ease-out;
  -o-transition: 0.1s all ease-out;
}

.tab-wp .btn-tab-wp a:first-child {
  margin-left: 0;
}

.tab-wp .btn-tab-wp a:hover {
  color: #00a7e1;
}

.tab-wp .btn-tab-wp a.active {
  color: #00a7e1;
}

.tab-wp .btn-tab-wp a.active:before {
  width: 100%;
}

.tab-wp .ctn-tab-wp .ls-tab-wp {
  display: none;
  padding: 28px 40px;
}

.tab-wp .ctn-tab-wp .ls-tab-wp.active {
  display: block;
}

.box-qst-list {
  margin-bottom: 20px;
}

.box-qst-list .ls-qst-list {
  padding-bottom: 11px;
  border-bottom: 1px solid #eaeaea;
  margin-bottom: 20px;
  font-family: "Lato", sans-serif;
}

.box-qst-list .ls-qst-list:after {
  content: "";
  clear: both;
  display: block;
}

.box-qst-list .ls-qst-list p {
  font-weight: 500;
  color: #4f4f51;
  font-size: 16px;
  line-height: 24px;
  margin-bottom: 10px;
}

.box-qst-list .ls-qst-list .qst-note {
  font-size: 13px;
  color: #999999;
  line-height: 20px;
}

.box-qst-list .ls-qst-list .qst-note span {
  color: #f29a4e;
}

.box-qst-list .ls-qst-list .qst-note a {
  line-height: 20px;
  display: inline-block;
  color: #999999;
}

.box-qst-list .ls-qst-list .qst-note a.link-pink {
  color: #fa4573;
}

.box-qst-list .ls-qst-list .qst-note a.link-pink:hover {
  color: #00a7e1;
}

.box-qst-list .ls-qst-list .qst-note .dots {
  display: inline-block;
  margin: -2px 5px 0;
  width: 4px;
  height: 4px;
  border-radius: 100%;
  -webkit-border-radius: 100%;
  -moz-border-radius: 100%;
  -ms-border-radius: 100%;
  -o-border-radius: 100%;
  background: #cccccc;
  vertical-align: middle;
}

.box-qst-list .ls-qst-list .qst-note .icwp {
  vertical-align: top;
  height: 20px;
  background-position: center;
}

.box-qst-list .ls-qst-list .link-icon {
  display: block;
  margin-bottom: 5px;
}

.box-qst-list .ls-qst-list .centerobj {
  font-size: 16px;
  margin-top: 10px;
  display: inline-block;
}

.box-qst-list .ls-qst-list:last-child {
  margin-bottom: 0;
}

.box-qst-list.nomarg {
  margin-bottom: 0;
}

.search-topic {
  color: #fff;
  background: #fa4573;
  border-radius: 10px;
  -webkit-border-radius: 10px;
  -moz-border-radius: 10px;
  -ms-border-radius: 10px;
  -o-border-radius: 10px;
  padding: 20px 38px;
  margin-bottom: 20px;
}

.search-topic:after {
  content: "";
  clear: both;
  display: block;
}

.search-topic h5 {
  font-size: 18px;
  margin-top: 10px;
}

.search-topic .box-sort {
  margin: 0;
}

.search-topic .box-sort label {
  color: #fff;
}

.box-search-topic {
  position: relative;
}

.box-search-topic input[type=text] {
  background: transparent;
  color: #fff;
  border: none;
  border-bottom: 1px solid #fff;
  font-family: "Lato", sans-serif;
  font-size: 16px;
  padding: 0 20px 7px 0;
}

.box-search-topic input[type=text]::-webkit-input-placeholder {
  color: #fff;
}

.box-search-topic input[type=text]:-moz-placeholder {
  color: #fff;
}

.box-search-topic input[type=text]::-moz-placeholder {
  color: #fff;
}

.box-search-topic input[type=text]:-ms-input-placeholder {
  color: #fff;
}

.box-search-topic input[type=submit] {
  padding: 0;
  border: none;
  background: url("../images/material/ic_search_white.png") no-repeat center;
  width: 18px;
  height: 18px;
  position: absolute;
  top: 1px;
  right: 0;
}

.potrait-list {
  margin: 0 -15px;
}

.potrait-list:after {
  content: "";
  clear: both;
  display: block;
}

.potrait-list .ls-potrait {
  width: 33.333333333333333333333%;
  float: left;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  padding: 0 15px;
  display: block;
  margin-bottom: 20px;
}

.potrait-list .ls-potrait figure {
  overflow: hidden;
  border-radius: 10px 10px 0 0;
  -webkit-border-radius: 10px 10px 0 0;
  -moz-border-radius: 10px 10px 0 0;
  -ms-border-radius: 10px 10px 0 0;
  -o-border-radius: 10px 10px 0 0;
}

.potrait-list .ls-potrait figure > img {
  width: 100%;
}

.potrait-list .ls-potrait .desc {
  background: #fff;
  border-radius: 0 0 10px 10px;
  -webkit-border-radius: 0 0 10px 10px;
  -moz-border-radius: 0 0 10px 10px;
  -ms-border-radius: 0 0 10px 10px;
  -o-border-radius: 0 0 10px 10px;
  overflow: hidden;
  padding: 15px 20px;
}

.potrait-list .ls-potrait .desc h4 {
  color: #333;
  margin-bottom: 10px;
}

.potrait-list .ls-potrait .desc p {
  font-family: "Lato", sans-serif;
  font-size: 13px;
  color: #727272;
  line-height: 18px;
  margin-bottom: 10px;
}

.potrait-list .ls-potrait .desc .pot-note {
  font-size: 12px;
  font-family: "Lato", sans-serif;
  color: #999999;
  font-weight: 700;
}

.potrait-list .ls-potrait .desc .pot-note span {
  color: #f29a4e;
}

.potrait-list .ls-potrait .desc .pot-note .dots {
  display: inline-block;
  width: 4px;
  height: 4px;
  background: #cccccc;
  border-radius: 100%;
  -webkit-border-radius: 100%;
  -moz-border-radius: 100%;
  -ms-border-radius: 100%;
  -o-border-radius: 100%;
  margin: -1px 3px 0;
  vertical-align: middle;
}

.potrait-list .ls-potrait .in-potrait {
  box-shadow: 0 0 20px -5px rgba(0, 0, 0, 0.1);
  -webkit-box-shadow: 0 0 20px -5px rgba(0, 0, 0, 0.1);
  -moz-box-shadow: 0 0 20px -5px rgba(0, 0, 0, 0.1);
  -ms-box-shadow: 0 0 20px -5px rgba(0, 0, 0, 0.1);
  -o-box-shadow: 0 0 20px -5px rgba(0, 0, 0, 0.1);
  border-radius: 10px;
  -webkit-border-radius: 10px;
  -moz-border-radius: 10px;
  -ms-border-radius: 10px;
  -o-border-radius: 10px;
  transition: 0.2s all ease-out;
  -webkit-transition: 0.2s all ease-out;
  -moz-transition: 0.2s all ease-out;
  -ms-transition: 0.2s all ease-out;
  -o-transition: 0.2s all ease-out;
}

.potrait-list .ls-potrait:hover .in-potrait {
  box-shadow: 0 0 20px 0px rgba(0, 0, 0, 0.15);
  -webkit-box-shadow: 0 0 20px 0px rgba(0, 0, 0, 0.15);
  -moz-box-shadow: 0 0 20px 0px rgba(0, 0, 0, 0.15);
  -ms-box-shadow: 0 0 20px 0px rgba(0, 0, 0, 0.15);
  -o-box-shadow: 0 0 20px 0px rgba(0, 0, 0, 0.15);
}

.only-mobile {
  display: none;
}

.notif-forum {
  background: #42558c;
  color: #fff;
  border-radius: 10px;
  -webkit-border-radius: 10px;
  -moz-border-radius: 10px;
  -ms-border-radius: 10px;
  -o-border-radius: 10px;
  position: relative;
  margin-bottom: 20px;
}

.notif-forum .data-notif {
  padding: 27px 20px 25px 35px;
  position: relative;
}

.notif-forum .data-notif:after {
  content: "";
  clear: both;
  display: block;
}

.notif-forum .data-notif figure {
  float: left;
}

.notif-forum .data-notif figure img {
  width: 63px;
  height: 63px;
  border-radius: 100%;
  -webkit-border-radius: 100%;
  -moz-border-radius: 100%;
  -ms-border-radius: 100%;
  -o-border-radius: 100%;
}

.notif-forum .data-notif .desc {
  float: right;
  width: 325px;
  max-width: 100%;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  padding-top: 10px;
  padding-right: 40px;
}

.notif-forum .data-notif .desc h5 {
  font-size: 18px;
  margin-bottom: 5px;
  color: #fff;
}

.notif-forum .data-notif .desc h4 {
  color: #fff;
}

.notif-forum .data-notif .desc .link-white {
  font-family: "Lato", sans-serif;
}

.notif-forum .data-notif .btn-notif {
  position: absolute;
  top: 23px;
  right: 35px;
  width: 22px;
  height: 27px;
  background: url("../images/material/ic_notif.png") no-repeat center;
  cursor: pointer;
  z-index: 2;
}

.notif-forum .data-notif .btn-notif span {
  display: block;
  position: absolute;
  top: -2px;
  right: -12px;
  border-radius: 100%;
  -webkit-border-radius: 100%;
  -moz-border-radius: 100%;
  -ms-border-radius: 100%;
  -o-border-radius: 100%;
  background: #fa4573;
  color: #fff;
  width: 20px;
  height: 20px;
  line-height: 20px;
  text-align: center;
  transition: 0.2s all ease-out;
  -webkit-transition: 0.2s all ease-out;
  -moz-transition: 0.2s all ease-out;
  -ms-transition: 0.2s all ease-out;
  -o-transition: 0.2s all ease-out;
}

.notif-forum .data-notif .btn-notif:hover span {
  color: #fa4573;
  background: #fff;
}

.notif-forum .drop-notif {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  background: #42558c;
  border-radius: 10px;
  -webkit-border-radius: 10px;
  -moz-border-radius: 10px;
  -ms-border-radius: 10px;
  -o-border-radius: 10px;
  display: none;
}

.notif-forum .drop-notif .head-notif {
  padding: 27px 20px 25px 35px;
  font-size: 18px;
}

.notif-forum .drop-notif .content-notif {
  background: #e2e9ff;
  border-radius: 0 0 10px 10px;
  -webkit-border-radius: 0 0 10px 10px;
  -moz-border-radius: 0 0 10px 10px;
  -ms-border-radius: 0 0 10px 10px;
  -o-border-radius: 0 0 10px 10px;
  color: #42558c;
  padding: 20px 40px;
  max-height: 180px;
  overflow: auto;
  font-family: "Lato", sans-serif;
  font-weight: 500;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}

.notif-forum .drop-notif .content-notif .ls-ctn-notif {
  padding: 15px 0;
  border-bottom: 1px solid #b2bcdc;
  display: block;
}

.notif-forum .drop-notif .content-notif .ls-ctn-notif p {
  font-size: 16px;
  margin-bottom: 10px;
}

.notif-forum .drop-notif .content-notif .ls-ctn-notif span {
  display: block;
  font-size: 13px;
  color: #9aa9d6;
  font-weight: 400;
}

.notif-forum .drop-notif .content-notif .ls-ctn-notif:first-child {
  padding-top: 0;
}

.notif-forum .drop-notif .content-notif .ls-ctn-notif:last-child {
  border-bottom: none;
}

.notif-forum .drop-notif .content-notif .ls-ctn-notif:hover p {
  text-decoration: underline;
  color: #42558c;
}

.notif-forum.notif-login .data-notif figure img {
  border-radius: 0;
  -webkit-border-radius: 0;
  -moz-border-radius: 0;
  -ms-border-radius: 0;
  -o-border-radius: 0;
  width: auto;
  height: auto;
}

.notif-forum.notif-login .data-notif h4 {
  font-size: 25px;
  margin-bottom: 5px;
}

.notif-forum.notif-login .data-notif p {
  font-size: 16px;
  font-family: "Lato", sans-serif;
  color: #a1aac6;
  margin-bottom: 0;
}

.notif-forum.notif-login .data-notif .desc {
  padding-top: 0;
}

.rounded-box {
  background: #fff;
  border-radius: 10px;
  -webkit-border-radius: 10px;
  -moz-border-radius: 10px;
  -ms-border-radius: 10px;
  -o-border-radius: 10px;
  margin-bottom: 20px;
  overflow: hidden;
  box-shadow: 0 0 20px -5px rgba(0, 0, 0, 0.1);
  -webkit-box-shadow: 0 0 20px -5px rgba(0, 0, 0, 0.1);
  -moz-box-shadow: 0 0 20px -5px rgba(0, 0, 0, 0.1);
  -ms-box-shadow: 0 0 20px -5px rgba(0, 0, 0, 0.1);
  -o-box-shadow: 0 0 20px -5px rgba(0, 0, 0, 0.1);
}

.rounded-box .ttl-rounded {
  padding: 20px 40px;
  border-bottom: 1px solid #cccccc;
}

.rounded-box .ctn-rounded {
  padding: 20px 40px;
}

.rounded-box .ctn-rounded.nopadd {
  padding: 0;
}

.rounded-box.qst-box .ttl-rounded {
  background: #f94b3b;
  border-bottom: none;
  color: #fff;
}

.rounded-box.qst-box .ctn-rounded {
  position: relative;
  color: #fff;
}

.rounded-box.qst-box .ctn-rounded .desc {
  position: absolute;
  top: 50%;
  right: 30px;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -moz-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  -o-transform: translateY(-50%);
  text-align: center;
}

.rounded-box.qst-box .ctn-rounded .desc h6 {
  font-size: 16px;
  line-height: 24px;
}

.rounded-box.qst-box .ctn-rounded .desc h3 {
  font-size: 28px;
  line-height: 36px;
  margin-bottom: 10px;
}

.rounded-box.detail-forum {
  font-family: "Lato", sans-serif;
}

.rounded-box.detail-forum h3 {
  font-size: 25px;
  line-height: 35px;
  font-family: "Fredoka One", cursive;
  margin-bottom: 10px;
}

.rounded-box.detail-forum hr {
  border: none;
  height: 1px;
  display: block;
  clear: both;
  background: #cccccc;
}

.rounded-box.detail-forum p {
  font-size: 18px;
  line-height: 30px;
  color: #4f4f51;
}

.rounded-box.detail-forum .datepost {
  font-size: 16px;
  color: #999999;
  margin-bottom: 25px;
}

.rounded-box.detail-forum .datepost a {
  color: #fa4573;
}

.rounded-box.detail-forum .images {
  text-align: center;
  margin-bottom: 20px;
  width: 100%;
}

.box-text-reply:after {
  content: "";
  clear: both;
  display: block;
}

.box-text-reply figure {
  float: left;
  width: 60px;
}

.box-text-reply figure img {
  width: 60px;
  height: 60px;
  border-radius: 100%;
  -webkit-border-radius: 100%;
  -moz-border-radius: 100%;
  -ms-border-radius: 100%;
  -o-border-radius: 100%;
}

.box-text-reply .text {
  float: right;
  width: 710px;
  position: relative;
  max-width: 100%;
}

.box-text-reply .text input[type=text] {
  border: none;
  height: 60px;
  padding: 0;
  font-size: 25px;
  width: 100%;
  padding-right: 100px;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  font-family: "Lato", sans-serif;
  background: transparent;
}

.box-text-reply .text input[type=text]::-webkit-input-placeholder {
  font-style: italic;
  color: #999999;
}

.box-text-reply .text input[type=text]:-moz-placeholder {
  font-style: italic;
  color: #999999;
}

.box-text-reply .text input[type=text]::-moz-placeholder {
  font-style: italic;
  color: #999999;
}

.box-text-reply .text input[type=text]:-ms-input-placeholder {
  font-style: italic;
  color: #999999;
}

.box-text-reply .text input[type=submit], .box-text-reply .text .btn-rounded {
  position: absolute;
  top: 10px;
  right: 0;
}

.box-text-reply .text h4 {
  font-family: "Lato", sans-serif;
  font-size: 25px;
  color: #999999;
  margin-top: 15px;
}

.box-text-reply.box-text-comment {
  background: #ececec;
  border-radius: 10px;
  -webkit-border-radius: 10px;
  -moz-border-radius: 10px;
  -ms-border-radius: 10px;
  -o-border-radius: 10px;
  padding: 10px 15px;
  display: none;
  transition: 0.4s all ease-out;
  -webkit-transition: 0.4s all ease-out;
  -moz-transition: 0.4s all ease-out;
  -ms-transition: 0.4s all ease-out;
  -o-transition: 0.4s all ease-out;
}

.box-text-reply.box-text-comment .text {
  width: 680px;
}

.box-text-reply.box-text-comment .text input[type=text] {
  font-size: 18px;
}

.box-reply .head-reply {
  padding-bottom: 20px;
  border-bottom: 1px solid #cccccc;
  margin-bottom: 20px;
}

.box-reply .head-reply:after {
  content: "";
  clear: both;
  display: block;
}

.box-reply .head-reply figure {
  float: left;
}

.box-reply .head-reply figure img {
  border-radius: 100%;
  -webkit-border-radius: 100%;
  -moz-border-radius: 100%;
  -ms-border-radius: 100%;
  -o-border-radius: 100%;
  width: 60px;
  height: 60px;
}

.box-reply .head-reply .desc {
  width: 705px;
  float: right;
  position: relative;
}

.box-reply .head-reply .desc h5 {
  font-size: 18px;
  color: #fa4573;
  line-height: 26px;
  margin-bottom: 5px;
}

.box-reply .head-reply .desc span {
  display: block;
  font-size: 16px;
  color: #999999;
  font-family: "Lato", sans-serif;
}

.box-reply .head-reply .desc .btn-reply {
  position: absolute;
  top: 15px;
  right: 0;
}

.box-reply .ctn-reply {
  font-family: "Lato", sans-serif;
}

.box-reply .ctn-reply p {
  font-size: 18px;
  line-height: 30px;
  color: #4f4f51;
}

.box-reply .ctn-reply .reply-quotes {
  background: #ececec;
  margin-bottom: 30px;
  border-radius: 10px;
  -webkit-border-radius: 10px;
  -moz-border-radius: 10px;
  -ms-border-radius: 10px;
  -o-border-radius: 10px;
  padding: 25px 28px;
}

.box-reply .ctn-reply .reply-quotes p {
  margin-bottom: 0;
}

.box-reply .ctn-reply .reply-quotes .head-reply-quotes {
  margin-bottom: 10px;
  color: #4f4f51;
  font-style: italic;
}

.box-reply .ctn-reply .reply-quotes .head-reply-quotes a {
  color: #fa4573;
}

.box-reply.active .box-text-reply.box-text-comment {
  display: block;
  transition: 0.4s all ease-out;
  -webkit-transition: 0.4s all ease-out;
  -moz-transition: 0.4s all ease-out;
  -ms-transition: 0.4s all ease-out;
  -o-transition: 0.4s all ease-out;
}

.breadcrumb {
  font-family: "Lato", sans-serif;
  font-size: 13px;
  margin-bottom: 15px;
}

.breadcrumb a {
  color: #999999;
}

.breadcrumb a.active {
  color: #00a7e1;
}

.form-box {
  background: #fff;
  border-radius: 10px;
  -webkit-border-radius: 10px;
  -moz-border-radius: 10px;
  -ms-border-radius: 10px;
  -o-border-radius: 10px;
  position: relative;
  padding: 10px 40px;
  margin-bottom: 20px;
  box-shadow: 0 0 20px -5px rgba(0, 0, 0, 0.1);
  -webkit-box-shadow: 0 0 20px -5px rgba(0, 0, 0, 0.1);
  -moz-box-shadow: 0 0 20px -5px rgba(0, 0, 0, 0.1);
  -ms-box-shadow: 0 0 20px -5px rgba(0, 0, 0, 0.1);
  -o-box-shadow: 0 0 20px -5px rgba(0, 0, 0, 0.1);
}

.form-box label {
  display: block;
  color: #00a7e1;
  font-size: 16px;
  line-height: 30px;
}

.form-box select {
  padding: 0 30px 0 0;
  color: #999999;
  font-family: "Lato", sans-serif;
  font-weight: 500;
  font-size: 16px;
  border: none;
  height: 30px;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  background: #fff url("../images/material/arrow-down.png") no-repeat center right;
}

.form-box span.default,
.form-box input[type="file"],
.form-box input[type=text],
.form-box input[type=email],
.form-box input[type=number],
.form-box input[type=password] {
  padding: 0;
  color: #999999;
  font-family: "Lato", sans-serif;
  font-weight: 500;
  font-size: 16px;
  border: none;
  height: 30px;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  color: #333333;
}

.form-box span.default::-webkit-input-placeholder,
.form-box input[type="file"]::-webkit-input-placeholder,
.form-box input[type=text]::-webkit-input-placeholder,
.form-box input[type=email]::-webkit-input-placeholder,
.form-box input[type=number]::-webkit-input-placeholder,
.form-box input[type=password]::-webkit-input-placeholder {
  color: #999999;
}

.form-box span.default:-moz-placeholder,
.form-box input[type="file"]:-moz-placeholder,
.form-box input[type=text]:-moz-placeholder,
.form-box input[type=email]:-moz-placeholder,
.form-box input[type=number]:-moz-placeholder,
.form-box input[type=password]:-moz-placeholder {
  color: #999999;
}

.form-box span.default::-moz-placeholder,
.form-box input[type="file"]::-moz-placeholder,
.form-box input[type=text]::-moz-placeholder,
.form-box input[type=email]::-moz-placeholder,
.form-box input[type=number]::-moz-placeholder,
.form-box input[type=password]::-moz-placeholder {
  color: #999999;
}

.form-box span.default:-ms-input-placeholder,
.form-box input[type="file"]:-ms-input-placeholder,
.form-box input[type=text]:-ms-input-placeholder,
.form-box input[type=email]:-ms-input-placeholder,
.form-box input[type=number]:-ms-input-placeholder,
.form-box input[type=password]:-ms-input-placeholder {
  color: #999999;
}

.form-box textarea {
  border: none;
  width: 100%;
  resize: none;
  font-size: 16px;
  width: 100%;
  height: 185px;
  padding: 0;
}

.form-box textarea::-webkit-input-placeholder {
  font-style: italic;
  color: #999999;
}

.form-box textarea:-moz-placeholder {
  font-style: italic;
  color: #999999;
}

.form-box textarea::-moz-placeholder {
  font-style: italic;
  color: #999999;
}

.form-box textarea:-ms-input-placeholder {
  font-style: italic;
  color: #999999;
}

.form-box .row {
  border-bottom: 1px solid #cccccc;
  padding-bottom: 15px;
  margin-bottom: 25px;
}

.form-box .row:after {
  content: "";
  clear: both;
  display: block;
}

.form-box .row label {
  float: left;
}

.form-box .row select {
  float: right;
  width: 650px;
}

.form-box .row input[type="file"],
.form-box .row input[type=text],
.form-box .row input[type=email],
.form-box .row input[type=number],
.form-box .row input[type=password] {
  float: right;
  width: 630px;
  max-width: 100%;
}

.form-box .row:last-child {
  border-bottom: none;
  padding-bottom: 0;
  margin-bottom: 0;
}

.form-box .input_file {
  font-size: 16px;
  color: #666;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  width: 690px !important;
  padding-left: 80px;
  border-radius: 5px;
  -webkit-border-radius: 5px;
  -moz-border-radius: 5px;
  -ms-border-radius: 5px;
  -o-border-radius: 5px;
  background: url("../images/material/ico_file.png") no-repeat 95% center;
}

.form-box .input_file input[type="file"] {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  border: none;
  right: 0;
  width: 630px;
}

.form-box .input_file span {
  font-size: 16px;
  color: #666;
  display: block;
  padding-right: 40px;
  text-overflow: ellipsis;
  overflow: hidden;
  white-space: nowrap;
  line-height: 22px;
  font-family: "Lato", sans-serif;
}

.form-box span.default {
  padding-left: 40px;
  line-height: 30px;
  font-weight: 700;
}

.form-box.rglink .row {
  position: relative;
}

.form-box.rglink .row input[type=text],
.form-box.rglink .row input[type=email],
.form-box.rglink .row input[type=number],
.form-box.rglink .row input[type=password] {
  padding-right: 130px;
}

.form-box.rglink .row .link-right {
  position: absolute;
  top: 7px;
  right: 0;
  font-size: 16px;
}

.form-box.twocolumn:after {
  content: "";
  clear: both;
  display: block;
}

.form-box.twocolumn .col-list {
  width: 49%;
  float: left;
  margin-bottom: 0;
  background: #f5f5f5;
  padding: 10px 20px;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  border-radius: 10px;
  -webkit-border-radius: 10px;
  -moz-border-radius: 10px;
  -ms-border-radius: 10px;
  -o-border-radius: 10px;
}

.form-box.twocolumn .col-list .row input[type=text],
.form-box.twocolumn .col-list .row input[type=email],
.form-box.twocolumn .col-list .row input[type=number],
.form-box.twocolumn .col-list .row input[type=password] {
  width: 60%;
  background: #f5f5f5;
}

.form-box.twocolumn .col-list:nth-child(even) {
  float: right;
}

.box-calender {
  font-family: "Lato", sans-serif;
  font-size: 20px;
  line-height: 30px;
}

.box-calender .row {
  margin: 0 -15px;
}

.box-calender .row:after {
  content: "";
  clear: both;
  display: block;
}

.box-calender .row .col {
  display: block;
  float: left;
  width: 14.2857142857149%;
  text-align: center;
  padding: 0 15px;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}

.box-calender .head-calender {
  font-weight: 700;
  color: #ee7164;
  margin-bottom: 30px;
}

.box-calender .body-calender .col {
  margin-bottom: 10px;
}

.box-calender .body-calender .col a {
  display: inline-block;
  width: 60px;
  height: 60px;
  line-height: 60px;
  border-radius: 100%;
  -webkit-border-radius: 100%;
  -moz-border-radius: 100%;
  -ms-border-radius: 100%;
  -o-border-radius: 100%;
  background: #fff;
  color: #999999;
  cursor: default;
}

.box-calender .body-calender .col.pink a {
  background: #fa4573;
  color: #fff;
}

.box-calender .body-calender .col.blue a {
  background: #00a7e1;
  color: #fff;
}

.popup {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.7);
  z-index: 100;
  display: none;
}

.popup .inpopup {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  max-height: 90vh;
  margin: 5% auto;
  background: #fff;
  width: 1170px;
  border-radius: 10px;
  -webkit-border-radius: 10px;
  -moz-border-radius: 10px;
  -ms-border-radius: 10px;
  -o-border-radius: 10px;
  padding: 50px 100px;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  font-family: "Lato", sans-serif;
}

.popup .inpopup h2 {
  font-size: 40px;
  line-height: 50px;
  margin-bottom: 20px;
  font-family: "Fredoka One", cursive;
}

.popup .inpopup h4 {
  font-family: "Fredoka One", cursive;
  font-size: 24px;
  line-height: 32px;
  margin-bottom: 5px;
}

.popup .inpopup iframe {
  width: 100%;
  height: 548px;
  margin-bottom: 30px;
}

.popup .inpopup p {
  font-size: 16px;
  line-height: 24px;
}

.popup .inpopup .tprofile {
  margin-bottom: 20px;
  display: block;
  font-style: italic;
  color: #a186be;
}

.popup .inpopup .content-pop {
  overflow: auto;
  max-height: 100%;
  padding: 0 0 20px;
}

.popup .inpopup .content-pop .wrapper {
  width: auto;
}

.popup .inpopup .content-pop .store img {
  width: 220px;
}

.popup .inpopup .header-title {
  font-family: "Fredoka One", cursive;
  line-height: 40px;
  text-align: center;
}

.popup .inpopup .choose-btn {
  width: 100%;
}

.popup .inpopup .choose-btn a {
  width: 49%;
}

.popup .inpopup .choose-btn .btn-rounded.green {
  background-color: #499b7d;
  border: 1px solid #499b7d;
}

.popup .inpopup .choose-btn .btn-rounded.green:hover {
  color: #499b7d;
  background-color: #fff;
  border: 1px solid #499b7d;
}

.popup .inpopup .choose-btn .btn-rounded.red {
  background-color: #e74c3c;
  border: 1px solid #e74c3c;
}

.popup .inpopup .choose-btn .btn-rounded.red:hover {
  color: #e74c3c;
  background-color: #fff;
  border: 1px solid #e74c3c;
}

.popup .inpopup.small-popup {
  width: 500px;
  height: 300px;
  padding: 60px 50px;
}

.popup .inpopup .close-pop {
  position: absolute;
  top: 20px;
  right: 20px;
  width: 40px;
  height: 40px;
  background: #00a7e1;
  cursor: pointer;
  transition: 0.2s all ease-out;
  -webkit-transition: 0.2s all ease-out;
  -moz-transition: 0.2s all ease-out;
  -ms-transition: 0.2s all ease-out;
  -o-transition: 0.2s all ease-out;
}

.popup .inpopup .close-pop span {
  display: block;
  width: 24px;
  height: 2px;
  background: #fff;
  position: absolute;
  top: 50%;
  left: 50%;
  margin: -1px 0 0 -12px;
  transform: rotate(45deg);
  -webkit-transform: rotate(45deg);
  -moz-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  -o-transform: rotate(45deg);
}

.popup .inpopup .close-pop span:last-child {
  transform: rotate(-45deg);
  -webkit-transform: rotate(-45deg);
  -moz-transform: rotate(-45deg);
  -ms-transform: rotate(-45deg);
  -o-transform: rotate(-45deg);
}

.popup .inpopup .close-pop:hover {
  background: #fa4573;
}

.popup .arrow-slide a {
  display: inline-block;
  width: 50px;
  height: 50px;
  border-radius: 100%;
  -webkit-border-radius: 100%;
  -moz-border-radius: 100%;
  -ms-border-radius: 100%;
  -o-border-radius: 100%;
  position: absolute;
  top: 50%;
  border: 2px solid #e96ca9;
  margin-top: -25px;
  transition: 0.2s all ease-out;
  -webkit-transition: 0.2s all ease-out;
  -moz-transition: 0.2s all ease-out;
  -ms-transition: 0.2s all ease-out;
  -o-transition: 0.2s all ease-out;
}

.popup .arrow-slide a.prev {
  left: -70px;
  background: url("../images/material/prev-slide-lg.png") no-repeat center;
}

.popup .arrow-slide a.next {
  right: -70px;
  background: url("../images/material/next-slide-lg.png") no-repeat center;
}

.popup .arrow-slide a:hover {
  background-color: rgba(255, 255, 255, 0.5);
}

/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3R5bGUtY29udGVudC5jc3MiLCJzb3VyY2VzIjpbInN0eWxlLWNvbnRlbnQuc2NzcyIsInNhc3MtbGliLnNjc3MiLCJib3VyYm9uL19ib3VyYm9uLnNjc3MiLCJib3VyYm9uL3NldHRpbmdzL19wcmVmaXhlci5zY3NzIiwiYm91cmJvbi9zZXR0aW5ncy9fcHgtdG8tZW0uc2NzcyIsImJvdXJib24vc2V0dGluZ3MvX2Fzc2V0LXBpcGVsaW5lLnNjc3MiLCJib3VyYm9uL2Z1bmN0aW9ucy9fYXNzaWduLWlucHV0cy5zY3NzIiwiYm91cmJvbi9mdW5jdGlvbnMvX2NvbnRhaW5zLnNjc3MiLCJib3VyYm9uL2Z1bmN0aW9ucy9fY29udGFpbnMtZmFsc3kuc2NzcyIsImJvdXJib24vZnVuY3Rpb25zL19pcy1sZW5ndGguc2NzcyIsImJvdXJib24vZnVuY3Rpb25zL19pcy1saWdodC5zY3NzIiwiYm91cmJvbi9mdW5jdGlvbnMvX2lzLW51bWJlci5zY3NzIiwiYm91cmJvbi9mdW5jdGlvbnMvX2lzLXNpemUuc2NzcyIsImJvdXJib24vZnVuY3Rpb25zL19weC10by1lbS5zY3NzIiwiYm91cmJvbi9mdW5jdGlvbnMvX3B4LXRvLXJlbS5zY3NzIiwiYm91cmJvbi9mdW5jdGlvbnMvX3NoYWRlLnNjc3MiLCJib3VyYm9uL2Z1bmN0aW9ucy9fc3RyaXAtdW5pdHMuc2NzcyIsImJvdXJib24vZnVuY3Rpb25zL190aW50LnNjc3MiLCJib3VyYm9uL2Z1bmN0aW9ucy9fdHJhbnNpdGlvbi1wcm9wZXJ0eS1uYW1lLnNjc3MiLCJib3VyYm9uL2Z1bmN0aW9ucy9fdW5wYWNrLnNjc3MiLCJib3VyYm9uL2Z1bmN0aW9ucy9fbW9kdWxhci1zY2FsZS5zY3NzIiwiYm91cmJvbi9oZWxwZXJzL19jb252ZXJ0LXVuaXRzLnNjc3MiLCJib3VyYm9uL2hlbHBlcnMvX2RpcmVjdGlvbmFsLXZhbHVlcy5zY3NzIiwiYm91cmJvbi9oZWxwZXJzL19mb250LXNvdXJjZS1kZWNsYXJhdGlvbi5zY3NzIiwiYm91cmJvbi9oZWxwZXJzL19ncmFkaWVudC1wb3NpdGlvbnMtcGFyc2VyLnNjc3MiLCJib3VyYm9uL2hlbHBlcnMvX2xpbmVhci1hbmdsZS1wYXJzZXIuc2NzcyIsImJvdXJib24vaGVscGVycy9fbGluZWFyLWdyYWRpZW50LXBhcnNlci5zY3NzIiwiYm91cmJvbi9oZWxwZXJzL19saW5lYXItcG9zaXRpb25zLXBhcnNlci5zY3NzIiwiYm91cmJvbi9oZWxwZXJzL19saW5lYXItc2lkZS1jb3JuZXItcGFyc2VyLnNjc3MiLCJib3VyYm9uL2hlbHBlcnMvX3JhZGlhbC1hcmctcGFyc2VyLnNjc3MiLCJib3VyYm9uL2hlbHBlcnMvX3JhZGlhbC1wb3NpdGlvbnMtcGFyc2VyLnNjc3MiLCJib3VyYm9uL2hlbHBlcnMvX3JhZGlhbC1ncmFkaWVudC1wYXJzZXIuc2NzcyIsImJvdXJib24vaGVscGVycy9fcmVuZGVyLWdyYWRpZW50cy5zY3NzIiwiYm91cmJvbi9oZWxwZXJzL19zaGFwZS1zaXplLXN0cmlwcGVyLnNjc3MiLCJib3VyYm9uL2hlbHBlcnMvX3N0ci10by1udW0uc2NzcyIsImJvdXJib24vY3NzMy9fYW5pbWF0aW9uLnNjc3MiLCJib3VyYm9uL2NzczMvX2FwcGVhcmFuY2Uuc2NzcyIsImJvdXJib24vY3NzMy9fYmFja2ZhY2UtdmlzaWJpbGl0eS5zY3NzIiwiYm91cmJvbi9jc3MzL19iYWNrZ3JvdW5kLnNjc3MiLCJib3VyYm9uL2NzczMvX2JhY2tncm91bmQtaW1hZ2Uuc2NzcyIsImJvdXJib24vY3NzMy9fYm9yZGVyLWltYWdlLnNjc3MiLCJib3VyYm9uL2NzczMvX2NhbGMuc2NzcyIsImJvdXJib24vY3NzMy9fY29sdW1ucy5zY3NzIiwiYm91cmJvbi9jc3MzL19maWx0ZXIuc2NzcyIsImJvdXJib24vY3NzMy9fZmxleC1ib3guc2NzcyIsImJvdXJib24vY3NzMy9fZm9udC1mYWNlLnNjc3MiLCJib3VyYm9uL2NzczMvX2ZvbnQtZmVhdHVyZS1zZXR0aW5ncy5zY3NzIiwiYm91cmJvbi9jc3MzL19oaWRwaS1tZWRpYS1xdWVyeS5zY3NzIiwiYm91cmJvbi9jc3MzL19oeXBoZW5zLnNjc3MiLCJib3VyYm9uL2NzczMvX2ltYWdlLXJlbmRlcmluZy5zY3NzIiwiYm91cmJvbi9jc3MzL19rZXlmcmFtZXMuc2NzcyIsImJvdXJib24vY3NzMy9fbGluZWFyLWdyYWRpZW50LnNjc3MiLCJib3VyYm9uL2NzczMvX3BlcnNwZWN0aXZlLnNjc3MiLCJib3VyYm9uL2NzczMvX3BsYWNlaG9sZGVyLnNjc3MiLCJib3VyYm9uL2NzczMvX3JhZGlhbC1ncmFkaWVudC5zY3NzIiwiYm91cmJvbi9jc3MzL19zZWxlY3Rpb24uc2NzcyIsImJvdXJib24vY3NzMy9fdGV4dC1kZWNvcmF0aW9uLnNjc3MiLCJib3VyYm9uL2NzczMvX3RyYW5zZm9ybS5zY3NzIiwiYm91cmJvbi9jc3MzL190cmFuc2l0aW9uLnNjc3MiLCJib3VyYm9uL2NzczMvX3VzZXItc2VsZWN0LnNjc3MiLCJib3VyYm9uL2FkZG9ucy9fYm9yZGVyLWNvbG9yLnNjc3MiLCJib3VyYm9uL2FkZG9ucy9fYm9yZGVyLXJhZGl1cy5zY3NzIiwiYm91cmJvbi9hZGRvbnMvX2JvcmRlci1zdHlsZS5zY3NzIiwiYm91cmJvbi9hZGRvbnMvX2JvcmRlci13aWR0aC5zY3NzIiwiYm91cmJvbi9hZGRvbnMvX2J1dHRvbnMuc2NzcyIsImJvdXJib24vYWRkb25zL19jbGVhcmZpeC5zY3NzIiwiYm91cmJvbi9hZGRvbnMvX2VsbGlwc2lzLnNjc3MiLCJib3VyYm9uL2FkZG9ucy9fZm9udC1zdGFja3Muc2NzcyIsImJvdXJib24vYWRkb25zL19oaWRlLXRleHQuc2NzcyIsImJvdXJib24vYWRkb25zL19tYXJnaW4uc2NzcyIsImJvdXJib24vYWRkb25zL19wYWRkaW5nLnNjc3MiLCJib3VyYm9uL2FkZG9ucy9fcG9zaXRpb24uc2NzcyIsImJvdXJib24vYWRkb25zL19wcmVmaXhlci5zY3NzIiwiYm91cmJvbi9hZGRvbnMvX3JldGluYS1pbWFnZS5zY3NzIiwiYm91cmJvbi9hZGRvbnMvX3NpemUuc2NzcyIsImJvdXJib24vYWRkb25zL190ZXh0LWlucHV0cy5zY3NzIiwiYm91cmJvbi9hZGRvbnMvX3RpbWluZy1mdW5jdGlvbnMuc2NzcyIsImJvdXJib24vYWRkb25zL190cmlhbmdsZS5zY3NzIiwiYm91cmJvbi9hZGRvbnMvX3dvcmQtd3JhcC5zY3NzIiwiYm91cmJvbi9fYm91cmJvbi1kZXByZWNhdGVkLXVwY29taW5nLnNjc3MiXSwic291cmNlc0NvbnRlbnQiOlsiLyo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cdFxyXG4gICAgQ29tcGFueSAgICA6IFBUIFdlYiBBcmNoaXRlY3QgVGVjaG5vbG9neSAtIHdlYmFycS5jb21cclxuICAgIERvY3VtZW50ICAgOiBTdHlsZXNoZWV0XHJcbiAgICBBdXRob3IgICAgIDogSXFiYWwgV2FoeXVkaSBQcmF0YW1hIC0gaXFiYWx3YWh5dWRpcC5jb21cclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSovXHJcbkBpbXBvcnQgXCJzYXNzLWxpYlwiO1xyXG5cclxuLypnZW5lcmFsKi9cclxuLmJ0bi1yb3VuZGVke1xyXG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztmb250LXNpemU6IDE2cHg7Y29sb3I6ICR3aGl0ZTtiYWNrZ3JvdW5kOiAkcGluazt0ZXh0LWFsaWduOiBjZW50ZXI7aGVpZ2h0OiA0MHB4O2xpbmUtaGVpZ2h0OiA0MHB4O0BpbmNsdWRlIGJvcmRlclJhZGl1cyg0MHB4KTtib3JkZXI6IDFweCBzb2xpZCAkcGluaztAaW5jbHVkZSB0cmFuc2l0aW9uKC4ycyBhbGwgZWFzZS1vdXQpO3BhZGRpbmc6IDAgMjBweDtAaW5jbHVkZSBib3hTaXppbmcoYm9yZGVyLWJveCk7Zm9udC1mYW1pbHk6ICRmcmVkb2thO2N1cnNvcjogcG9pbnRlcjtcclxuXHQmOmhvdmVye2NvbG9yOiRwaW5rO2JhY2tncm91bmQ6ICR3aGl0ZTt9XHJcblxyXG5cdCYuYnRuLWRhcmtibHVle1xyXG5cdFx0YmFja2dyb3VuZDogIzQyNTU4Yztib3JkZXItY29sb3I6ICM0MjU1OGM7Y29sb3I6ICR3aGl0ZTtcclxuXHRcdCY6aG92ZXJ7Y29sb3I6IzQyNTU4YztiYWNrZ3JvdW5kOiAkd2hpdGU7fVxyXG5cdH1cclxuXHJcblx0Ji5idG4tc217bGluZS1oZWlnaHQ6IDUwcHg7aGVpZ2h0OiA1MHB4O3BhZGRpbmc6IDAgNTBweDtmb250LXNpemU6IDE4cHg7fVxyXG5cdCYuYnRuLW1ke2xpbmUtaGVpZ2h0OiA2MHB4O2hlaWdodDogNjBweDtwYWRkaW5nOiAwIDQwcHg7bWluLXdpZHRoOiAyNzBweDt9XHJcblxyXG5cdCYuYnRuLXBlbmNpbHtcclxuXHRcdGJhY2tncm91bmQ6ICNlNmY2ZmQ7bWluLXdpZHRoOiAyNjVweDtwYWRkaW5nOiAwIDQwcHg7Y29sb3I6ICRibHVlO2JvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7aGVpZ2h0OiA1MnB4O2xpbmUtaGVpZ2h0OiA1MnB4O2ZvbnQtc2l6ZTogMTZweDt2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG5cdFx0Lmljd3B7dmVydGljYWwtYWxpZ246IG1pZGRsZTttYXJnaW4tcmlnaHQ6IDhweDttYXJnaW4tdG9wOiAtM3B4O31cclxuXHJcblx0XHQmOmhvdmVye1xyXG5cdFx0XHRiYWNrZ3JvdW5kOiRibHVlO2NvbG9yOiAkd2hpdGU7XHJcblx0XHRcdC5pY3dwe2JhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1hZ2VzL21hdGVyaWFsL2ljX3BlbmNpbF93aGl0ZS5wbmcnKTt9XHJcblx0XHR9XHJcblx0fVxyXG59XHJcblxyXG4uYnRuLW1pZC1yb3VuZGVke1xyXG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztmb250LXNpemU6IDE2cHg7Y29sb3I6ICM0MjU1OGM7YmFja2dyb3VuZDogJHdoaXRlO3RleHQtYWxpZ246IGNlbnRlcjtoZWlnaHQ6IDMwcHg7bGluZS1oZWlnaHQ6IDI4cHg7QGluY2x1ZGUgYm9yZGVyUmFkaXVzKDVweCk7Ym9yZGVyOiAxcHggc29saWQgIzQyNTU4YztAaW5jbHVkZSB0cmFuc2l0aW9uKC4ycyBhbGwgZWFzZS1vdXQpO3BhZGRpbmc6IDAgMTBweDtAaW5jbHVkZSBib3hTaXppbmcoYm9yZGVyLWJveCk7Zm9udC1mYW1pbHk6ICRmcmVkb2thO2N1cnNvcjogcG9pbnRlcjtcclxuXHQmOmhvdmVye2JhY2tncm91bmQ6IzQyNTU4Yztjb2xvcjogJHdoaXRlO31cclxuXHJcblx0Ji5idG4tcmVwbHl7XHJcblx0XHQuaWNfcmVwbHl7dmVydGljYWwtYWxpZ246IG1pZGRsZTttYXJnaW4tdG9wOiAtNHB4O21hcmdpbi1yaWdodDogM3B4O31cclxuXHRcdCY6aG92ZXJ7XHJcblx0XHRcdC5pY19yZXBseXtiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltYWdlcy9tYXRlcmlhbC9pY19yZXBseV93aGl0ZS5wbmcnKTt9XHJcblx0XHR9XHJcblx0fVxyXG59XHJcblxyXG4ubGluay1ibHVle1xyXG5cdGNvbG9yOiAkYmx1ZTtAaW5jbHVkZSB0cmFuc2l0aW9uKC4ycyBhbGwgZWFzZS1vdXQpO1xyXG5cdCY6aG92ZXJ7Y29sb3I6JHBpbms7fVxyXG59XHJcbi5saW5rLXBpbmt7XHJcblx0Y29sb3I6ICRwaW5rO0BpbmNsdWRlIHRyYW5zaXRpb24oLjJzIGFsbCBlYXNlLW91dCk7dGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XHJcblx0Jjpob3Zlcntjb2xvcjokYmx1ZTt9XHJcblxyXG5cdCYubm9ib3JkZXJ7dGV4dC1kZWNvcmF0aW9uOiBub25lO31cclxufVxyXG4ubGluay13aGl0ZXtcclxuXHRjb2xvcjogJHdoaXRlO0BpbmNsdWRlIHRyYW5zaXRpb24oLjJzIGFsbCBlYXNlLW91dCk7XHJcblx0Jjpob3Zlcntjb2xvcjokd2hpdGU7dGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7fVxyXG59XHJcbi5saW5rLWljb257XHJcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO2NvbG9yOiAjOTk5OTk5O2ZvbnQtc2l6ZTogMTNweDtmb250LWZhbWlseTogJGxhdG87bGluZS1oZWlnaHQ6IDE4cHg7cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cclxuXHQmLmwtZWRpdHtcclxuXHRcdHBhZGRpbmctcmlnaHQ6IDIycHg7XHJcblx0XHQmOmJlZm9yZXtjb250ZW50OlwiXCI7cG9zaXRpb246IGFic29sdXRlO3RvcDogMDtyaWdodDogMDt3aWR0aDogMTRweDtoZWlnaHQ6IDE0cHg7YmFja2dyb3VuZDogdXJsKCcuLi9pbWFnZXMvbWF0ZXJpYWwvaWNfZWRpdC5wbmcnKSBuby1yZXBlYXQgY2VudGVyO31cclxuXHRcdCY6aG92ZXJ7Y29sb3I6ICRibHVlO31cclxuXHR9XHJcblx0Ji5sLWRlbGV0ZXtcclxuXHRcdHBhZGRpbmctcmlnaHQ6IDIycHg7XHJcblx0XHQmOmJlZm9yZXtjb250ZW50OlwiXCI7cG9zaXRpb246IGFic29sdXRlO3RvcDogMDtyaWdodDogMDt3aWR0aDogMTRweDtoZWlnaHQ6IDE0cHg7YmFja2dyb3VuZDogdXJsKCcuLi9pbWFnZXMvbWF0ZXJpYWwvaWNfZGVsZXRlLnBuZycpIG5vLXJlcGVhdCBjZW50ZXI7fVxyXG5cdFx0Jjpob3Zlcntjb2xvcjogJHBpbms7fVxyXG5cdH1cclxuXHJcbn1cclxuXHJcblxyXG4udGRhcmtibHVle2NvbG9yOiAjNDI1NThjO31cclxuLnRwaW5re2NvbG9yOiAkcGluazt9XHJcbi50Ymx1ZXtjb2xvcjogJGJsdWU7fVxyXG4udHB1cnBsZXtjb2xvcjogJHB1cnBsZTt9XHJcbi5hLWNlbnRlcnt0ZXh0LWFsaWduOiBjZW50ZXI7fVxyXG4uYS1yaWdodHt0ZXh0LWFsaWduOiByaWdodDt9XHJcbi5hLWxlZnR7dGV4dC1hbGlnbjogbGVmdDt9XHJcblxyXG5cclxuLmljd3B7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IHdpZHRoOiAyNHB4OyBoZWlnaHQ6IDI0cHg7IGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7IGJhY2tncm91bmQtcG9zaXRpb246IHRvcCBjZW50ZXI7XHJcbiAgICAmOmhvdmVye2JhY2tncm91bmQtcG9zaXRpb246IGJvdHRvbSBjZW50ZXI7fVxyXG5cclxuICAgICYuaWNfdmlld2Vyc3tiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltYWdlcy9tYXRlcmlhbC9pY192aWV3ZXJzLnBuZycpO3dpZHRoOiAxN3B4O2hlaWdodDogMTBweDt2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO31cclxuICAgICYuaWNfY29tbWVudHN7YmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWFnZXMvbWF0ZXJpYWwvaWNfY29tbWVudHMucG5nJyk7d2lkdGg6IDEzcHg7aGVpZ2h0OiAxMXB4O3ZlcnRpY2FsLWFsaWduOiBtaWRkbGU7fVxyXG4gICAgJi5pY19xdWVzdGlvbntiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltYWdlcy9tYXRlcmlhbC9pY19xdWVzdGlvbi5wbmcnKTt3aWR0aDogODRweDtoZWlnaHQ6IDg0cHg7dmVydGljYWwtYWxpZ246IG1pZGRsZTt9XHJcbiAgICAmLmljX3BlbmNpbHtiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltYWdlcy9tYXRlcmlhbC9pY19wZW5jaWwucG5nJyk7d2lkdGg6IDE4cHg7aGVpZ2h0OiAxOHB4O3ZlcnRpY2FsLWFsaWduOiBtaWRkbGU7fVxyXG4gICAgJi5pY19yZXBseXtiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltYWdlcy9tYXRlcmlhbC9pY19yZXBseS5wbmcnKTt3aWR0aDogMTRweDtoZWlnaHQ6IDE0cHg7dmVydGljYWwtYWxpZ246IG1pZGRsZTt9XHJcbn1cclxuXHJcbi5yb3dfbGlzdHtcclxuICAgIG1hcmdpbi1sZWZ0OiAtMTVweDsgbWFyZ2luLXJpZ2h0OiAtMTVweDsgQGluY2x1ZGUgYm94U2l6aW5nKGJvcmRlci1ib3gpO1xyXG4gICAgKntAaW5jbHVkZSBib3hTaXppbmcoYm9yZGVyLWJveCk7fVxyXG4gICAgJjphZnRlcntjb250ZW50OiBcIlwiOyBkaXNwbGF5OiB0YWJsZTsgY2xlYXI6IGJvdGg7fVxyXG4gICAgLmNvbHtcclxuICAgICAgICB3aWR0aDogMTAwJTsgcGFkZGluZzogMCAxNXB4OyBmbG9hdDogbGVmdDtcclxuICAgICAgICAmLmZye2Zsb2F0OiByaWdodDt9XHJcbiAgICAgICAgJi5uby1wYWR7cGFkZGluZzogMDt9XHJcbiAgICAgICAgJi5tYXJnMjh7bWFyZ2luLWJvdHRvbTogMjhweDt9XHJcbiAgICAgICAgJi5jb2xfOXt3aWR0aDogOTAlO31cclxuICAgICAgICAmLmNvbF84e3dpZHRoOiA4MCU7fVxyXG4gICAgICAgICYuY29sXzd7d2lkdGg6IDcwJTt9XHJcbiAgICAgICAgJi5jb2xfNjZ7d2lkdGg6IDY2LjY2NjY2NjY2NjY2NjY2JTt9XHJcbiAgICAgICAgJi5jb2xfNjV7d2lkdGg6IDY1JTt9XHJcbiAgICAgICAgJi5jb2xfNnt3aWR0aDogNjAlO31cclxuICAgICAgICAmLmNvbF81NXt3aWR0aDogNTUlO31cclxuICAgICAgICAmLmNvbF81e3dpZHRoOiA1MCU7fVxyXG4gICAgICAgICYuY29sXzQ1e3dpZHRoOiA0NSU7fVxyXG4gICAgICAgICYuY29sXzR7d2lkdGg6IDQwJTt9XHJcbiAgICAgICAgJi5jb2xfMzd7d2lkdGg6IDM3JTt9XHJcbiAgICAgICAgJi5jb2xfMzV7d2lkdGg6IDM1JTt9XHJcbiAgICAgICAgJi5jb2xfMzN7d2lkdGg6IDMzLjMzMzMzMzMzMzMzMzMlO31cclxuICAgICAgICAmLmNvbF8ze3dpZHRoOiAzMCU7fVxyXG4gICAgICAgICYuY29sXzI1e3dpZHRoOiAyNSU7fVxyXG4gICAgICAgICYuY29sXzJ7d2lkdGg6IDIwJTt9XHJcbiAgICAgICAgJi5jb2xfMTZ7d2lkdGg6IDE2LjY2NjY2NjY2NjY2NjY2JTt9XHJcbiAgICAgICAgJi5jb2xfMXt3aWR0aDogMTAlO31cclxuICAgIH1cclxuICAgICYuY2VudGVye1xyXG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICAuY29se2Zsb2F0OiBub25lOyBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7fVxyXG4gICAgfVxyXG4gICAgJi5saXN0ZnVsbHtcclxuICAgICAgICBtYXJnaW4tbGVmdDogMDsgbWFyZ2luLXJpZ2h0OiAwO1xyXG4gICAgICAgIC5jb2x7cGFkZGluZzogMDt9XHJcbiAgICB9XHJcbiAgICAmLmxpc3RwNXtcclxuICAgICAgICBtYXJnaW4tbGVmdDogLTVweDsgbWFyZ2luLXJpZ2h0OiAtNXB4O1xyXG4gICAgICAgIC5jb2x7cGFkZGluZzogMCA1cHg7fVxyXG4gICAgfVxyXG59XHJcblxyXG4vKmVuZCBnZW5lcmFsKi9cclxuXHJcbi5jdG4tcGFkZHtwYWRkaW5nLWJvdHRvbTogMTAwcHg7fVxyXG4ucGFkZHRvcHtwYWRkaW5nLXRvcDogMTg1cHg7fVxyXG4ucGFkZHRvcC1zbXtwYWRkaW5nLXRvcDogMTIwcHg7fVxyXG4uYm9keS1ncmV5e2JhY2tncm91bmQ6ICNmYWZhZmE7fVxyXG4uYmFubmVyLWNvbnRlbnR7XHJcblx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdGZpZ3VyZXtcclxuXHRcdGltZ3t3aWR0aDogMTAwJTt9XHJcblx0fVxyXG5cdGgxe2NvbG9yOiAkYmx1ZTtmb250LXNpemU6IDUwcHg7Zm9udC1mYW1pbHk6ICRmcmVkb2thO2ZvbnQtd2VpZ2h0OiA0MDA7bWFyZ2luLWJvdHRvbTogMTVweDt9XHJcblx0aDV7Y29sb3I6ICM1Y2ExYjY7Zm9udC1zaXplOiAyMHB4O2xpbmUtaGVpZ2h0OiAzMHB4O2ZvbnQtZmFtaWx5OiAkbW9udHNlcnJhdDsgZGlzcGxheTogLXdlYmtpdC1ib3g7IC13ZWJraXQtbGluZS1jbGFtcDogMjsgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDsgb3ZlcmZsb3c6IGhpZGRlbjt9XHJcblx0LmRlc2N7XHJcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7dG9wOjA7bGVmdDowO3JpZ2h0OjA7Ym90dG9tOjA7bWFyZ2luOiA1JSBhdXRvO3RleHQtYWxpZ246IGNlbnRlcjtjb2xvcjogIzVjYTFiNjt3aWR0aDogNjMwcHg7XHJcblx0fVxyXG5cclxuXHQmLm1hcmd0b3B7bWFyZ2luLXRvcDogMTAwcHg7fVxyXG5cdCYucGlua3tcclxuXHRcdGgxe2NvbG9yOiAkcGluazt9XHJcblx0XHRoNXtjb2xvcjogI2I0NzQ5NTt9XHJcblx0fVxyXG59XHJcblxyXG4uY2F0ZWdvcmllc3tcclxuXHR0ZXh0LWFsaWduOiBjZW50ZXI7cGFkZGluZzogNDBweCAwO2JhY2tncm91bmQ6ICR3aGl0ZTtwb3NpdGlvbjogcmVsYXRpdmU7bWFyZ2luLWJvdHRvbTogNThweDtcclxuXHQmOmJlZm9yZXtjb250ZW50OiBcIlwiO3Bvc2l0aW9uOiBhYnNvbHV0ZTt0b3A6IDEwMCU7bGVmdDogMDtyaWdodDogMDtoZWlnaHQ6IDExcHg7YmFja2dyb3VuZDogdXJsKCcuLi9pbWFnZXMvbWF0ZXJpYWwvY2F0ZWdvcmllcy1zaGFkb3cucG5nJykgbm8tcmVwZWF0IGNlbnRlciB0b3A7YmFja2dyb3VuZC1zaXplOiAxMDAlO31cclxuXHQubHMtY2F0ZWdvcmllc3tcclxuXHRcdGRpc3BsYXk6IGlubGluZS1ibG9jazt3aWR0aDogMTcwcHg7dGV4dC1hbGlnbjogbGVmdDttYXJnaW46IDAgMzBweDtwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0XHQmOmJlZm9yZXtjb250ZW50OlwiXCI7cG9zaXRpb246IGFic29sdXRlO2JvdHRvbTogLTQycHg7bGVmdDogMDtyaWdodDogMDtoZWlnaHQ6IDA7QGluY2x1ZGUgdHJhbnNpdGlvbiguMnMgYWxsIGVhc2Utb3V0KTt9XHJcblx0XHQuaW1ne2Zsb2F0OiBsZWZ0O3dpZHRoOiA0MCU7fVxyXG5cdFx0LnRleHR7ZmxvYXQ6IHJpZ2h0O3dpZHRoOiA1NSU7Zm9udC1zaXplOiAxNHB4O2xpbmUtaGVpZ2h0OiAxNHB4O3RleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7cGFkZGluZy10b3A6IDIwcHg7fVxyXG5cclxuXHRcdCYucGlua3tcclxuXHRcdFx0Y29sb3I6ICRwaW5rO1xyXG5cdFx0XHQmOmJlZm9yZXtiYWNrZ3JvdW5kOiRwaW5rO31cclxuXHRcdH1cclxuXHRcdCYucHVycGxle1xyXG5cdFx0XHRjb2xvcjogJHB1cnBsZTtcclxuXHRcdFx0JjpiZWZvcmV7YmFja2dyb3VuZDokcHVycGxlO31cclxuXHRcdH1cclxuXHRcdCYuZ3JlZW57XHJcblx0XHRcdGNvbG9yOiAjNGVjMjg3O1xyXG5cdFx0XHQmOmJlZm9yZXtiYWNrZ3JvdW5kOiM0ZWMyODc7fVxyXG5cdFx0fVxyXG5cdFx0Ji5ibHVle1xyXG5cdFx0XHRjb2xvcjogIzM1YTNiMDtcclxuXHRcdFx0JjpiZWZvcmV7YmFja2dyb3VuZDojMzVhM2IwO31cclxuXHRcdH1cclxuXHRcdCYucGluazJ7XHJcblx0XHRcdGNvbG9yOiAjZDc1ODY2O1xyXG5cdFx0XHQmOmJlZm9yZXtiYWNrZ3JvdW5kOiNkNzU4NjY7fVxyXG5cdFx0fVxyXG5cdFx0Ji5vcmFuZ2V7XHJcblx0XHRcdGNvbG9yOiAjZjI5YTRlO1xyXG5cdFx0XHQmOmJlZm9yZXtiYWNrZ3JvdW5kOiNmMjlhNGU7fVxyXG5cdFx0fVxyXG5cdFx0Ji5wdXJwbGUye1xyXG5cdFx0XHRjb2xvcjogIzliNDI3NDtcclxuXHRcdFx0JjpiZWZvcmV7YmFja2dyb3VuZDojOWI0Mjc0O31cclxuXHRcdH1cclxuXHJcblx0XHQmOmZpcnN0LWNoaWxke21hcmdpbi1sZWZ0OiAwO31cclxuXHRcdCY6bGFzdC1jaGlsZHttYXJnaW4tcmlnaHQ6IDA7fVxyXG5cclxuXHRcdCY6aG92ZXIsJi5hY3RpdmV7XHJcblx0XHRcdCY6YmVmb3Jle2hlaWdodDozcHg7fVxyXG5cdFx0fVxyXG5cdH1cclxufVxyXG5cclxuLnRodW1ibGlzdHtcclxuXHRtYXJnaW46IDAgLTE1cHggMzBweDtcclxuXHRAaW5jbHVkZSBhZnRlcmJvdGg7XHJcblx0LmxzLXRodW1ie1xyXG5cdFx0d2lkdGg6IDI1JTtmbG9hdDogbGVmdDtAaW5jbHVkZSBib3hTaXppbmcoYm9yZGVyLWJveCk7cGFkZGluZzogMCAxNXB4O21hcmdpbi1ib3R0b206IDMwcHg7cG9zaXRpb246IHJlbGF0aXZlO3otaW5kZXg6IDE7XHJcblx0XHRoNntmb250LXNpemU6IDE4cHg7Y29sb3I6ICM3MjcyNzI7fVxyXG5cdFx0ZmlndXJle1xyXG5cdFx0XHRtYXJnaW4tYm90dG9tOiAxMHB4O0BpbmNsdWRlIGJvcmRlclJhZGl1cygxMHB4IDEwcHggMCAwKTtvdmVyZmxvdzogaGlkZGVuO3Bvc2l0aW9uOiByZWxhdGl2ZTt6LWluZGV4OiAyO1xyXG5cdFx0XHRpbWd7d2lkdGg6IDEwMCU7fVxyXG5cdFx0fVxyXG5cdFx0LmluLXRodW1ie1xyXG5cdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7QGluY2x1ZGUgYm94U2l6aW5nKGJvcmRlci1ib3gpO1xyXG5cdFx0XHQmOmJlZm9yZXtjb250ZW50OlwiXCI7cG9zaXRpb246IGFic29sdXRlO3RvcDogLTFweDtsZWZ0OiAtMXB4O2JvdHRvbTogMDtyaWdodDogLTFweDtib3JkZXI6IDFweCBzb2xpZCAjZjBmMGYwO0BpbmNsdWRlIGJvcmRlclJhZGl1cygxMHB4KTtiYWNrZ3JvdW5kOiAkd2hpdGU7QGluY2x1ZGUgdHJhbnNpdGlvbiguMXMgYWxsIGVhc2Utb3V0KTt9XHJcblx0XHRcdC5pYy10aHVtYntwb3NpdGlvbjogYWJzb2x1dGU7dG9wOiAxMHB4O3JpZ2h0OiAxMHB4O3otaW5kZXg6IDM7fVxyXG5cdFx0XHQuYm94LWljb3tcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsgcmlnaHQ6IDMwcHg7IHRvcDoxMHB4OyB6LWluZGV4OiA0OyBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLmljb3tcclxuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDEwMCU7IHBhZGRpbmc6IDVweDsgZmxvYXQ6IHJpZ2h0OyBtYXJnaW4tbGVmdDogMTBweDtcclxuICAgICAgICAgICAgICAgIGltZ3sgd2lkdGg6IDI1cHg7IC13ZWJraXQtZmlsdGVyOiBicmlnaHRuZXNzKDApIGludmVydCgxKTsgZmlsdGVyOiBicmlnaHRuZXNzKDApIGludmVydCgxKTsgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICYucGVya2VtYmFuZ2FuMXtcclxuICAgICAgICAgICAgICAgICY6aG92ZXJ7XHJcbiAgICAgICAgICAgICAgICAgICAgLmljb3sgXHJcbiAgICAgICAgICAgICAgICAgICAgXHRiYWNrZ3JvdW5kLWNvbG9yOiAjNGVjMjg3OyBcclxuICAgICAgICAgICAgICAgICAgICBcdGltZ3sgd2lkdGg6IDI1cHg7IC13ZWJraXQtZmlsdGVyOiBicmlnaHRuZXNzKDApIGludmVydCgxKTsgZmlsdGVyOiBicmlnaHRuZXNzKDApIGludmVydCgxKTsgfSBcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAuaWNveyBiYWNrZ3JvdW5kLWNvbG9yOiAjNGVjMjg3OyAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICYucGVya2VtYmFuZ2FuMntcclxuICAgICAgICAgICAgICAgICY6aG92ZXJ7XHJcbiAgICAgICAgICAgICAgICAgICAgLmljb3sgXHJcbiAgICAgICAgICAgICAgICAgICAgXHRiYWNrZ3JvdW5kLWNvbG9yOiAjNGVhOWFkOyBcclxuICAgICAgICAgICAgICAgICAgICBcdGltZ3sgd2lkdGg6IDI1cHg7IC13ZWJraXQtZmlsdGVyOiBicmlnaHRuZXNzKDApIGludmVydCgxKTsgZmlsdGVyOiBicmlnaHRuZXNzKDApIGludmVydCgxKTsgfSBcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAuaWNveyBiYWNrZ3JvdW5kLWNvbG9yOiAjNGVhOWFkOyB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJi5wZXJrZW1iYW5nYW4ze1xyXG4gICAgICAgICAgICAgICAgJjpob3ZlcntcclxuICAgICAgICAgICAgICAgICAgICAuaWNveyBcclxuICAgICAgICAgICAgICAgICAgICBcdGJhY2tncm91bmQtY29sb3I6ICNkNzU4NjY7IFxyXG4gICAgICAgICAgICAgICAgICAgIFx0aW1neyB3aWR0aDogMjVweDsgLXdlYmtpdC1maWx0ZXI6IGJyaWdodG5lc3MoMCkgaW52ZXJ0KDEpOyBmaWx0ZXI6IGJyaWdodG5lc3MoMCkgaW52ZXJ0KDEpOyB9IFxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIC5pY297IGJhY2tncm91bmQtY29sb3I6ICNkNzU4NjY7IH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmLnBlcmtlbWJhbmdhbjR7XHJcbiAgICAgICAgICAgICAgICAmOmhvdmVye1xyXG4gICAgICAgICAgICAgICAgICAgIC5pY297IFxyXG4gICAgICAgICAgICAgICAgICAgIFx0YmFja2dyb3VuZC1jb2xvcjogI2YyOWE0ZTsgXHJcbiAgICAgICAgICAgICAgICAgICAgXHRpbWd7IHdpZHRoOiAyNXB4OyAtd2Via2l0LWZpbHRlcjogYnJpZ2h0bmVzcygwKSBpbnZlcnQoMSk7IGZpbHRlcjogYnJpZ2h0bmVzcygwKSBpbnZlcnQoMSk7IH0gXHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgLmljb3sgYmFja2dyb3VuZC1jb2xvcjogI2YyOWE0ZTsgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICYucGVya2VtYmFuZ2FuNXtcclxuICAgICAgICAgICAgICAgICY6aG92ZXJ7XHJcbiAgICAgICAgICAgICAgICAgICAgLmljb3sgXHJcbiAgICAgICAgICAgICAgICAgICAgXHRiYWNrZ3JvdW5kLWNvbG9yOiAjOWI0Mjc0OyBcclxuICAgICAgICAgICAgICAgICAgICBcdGltZ3sgd2lkdGg6IDI1cHg7IC13ZWJraXQtZmlsdGVyOiBicmlnaHRuZXNzKDApIGludmVydCgxKTsgZmlsdGVyOiBicmlnaHRuZXNzKDApIGludmVydCgxKTsgfSBcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAuaWNveyBiYWNrZ3JvdW5kLWNvbG9yOiAjOWI0Mjc0OyB9XHJcbiAgICAgICAgICAgIH1cclxuXHRcdH1cclxuXHRcdC5kZXNje1xyXG5cdFx0XHRwYWRkaW5nOiAwIDI0cHggMjVweDt0ZXh0LWFsaWduOiBjZW50ZXI7cG9zaXRpb246IHJlbGF0aXZlO3otaW5kZXg6IDI7XHJcblx0XHRcdC50ZXh0e0BpbmNsdWRlIHRyYW5zaXRpb24oLjJzIGFsbCBlYXNlLW91dCk7fVxyXG5cdFx0XHQubGlua3tcclxuXHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7dG9wOiAtMjBweDtsZWZ0OiAwO3JpZ2h0OiAwO3BhZGRpbmc6IDAgMjRweCAyMHB4O29wYWNpdHk6IDA7dmlzaWJpbGl0eTogaGlkZGVuO0BpbmNsdWRlIHRyYW5zaXRpb24oLjJzIGFsbCBlYXNlLW91dCk7XHJcblx0XHRcdFx0LmJ0bi1yb3VuZGVke2NsZWFyOiBib3RoO2Rpc3BsYXk6IGJsb2NrO21hcmdpbi1ib3R0b206IDE1cHg7fVxyXG5cdFx0XHRcdC5saW5rLWJsdWV7Y2xlYXI6IGJvdGg7ZGlzcGxheTogYmxvY2s7fVxyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0XHQmOmhvdmVye1xyXG5cdFx0XHR6LWluZGV4OiAyO1xyXG5cdFx0XHQuaW4tdGh1bWJ7XHJcblx0XHRcdFx0JjpiZWZvcmV7Ym9yZGVyLWNvbG9yOiAkcGluaztib3R0b206IC0zMHB4O3otaW5kZXg6IDI7fVxyXG5cdFx0XHRcdC5pY297XHJcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcclxuICAgICAgICAgICAgICAgICAgICBpbWd7IC13ZWJraXQtZmlsdGVyOnVuc2V0OyBmaWx0ZXI6IHVuc2V0OyAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG5cdFx0XHR9XHJcblx0XHRcdC5kZXNje1xyXG5cdFx0XHRcdC50ZXh0e29wYWNpdHk6IDA7dmlzaWJpbGl0eTogaGlkZGVuO31cclxuXHRcdFx0XHQubGlua3tvcGFjaXR5OiAxO3Zpc2liaWxpdHk6IHZpc2libGU7fVxyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0XHQmOm50aC1jaGlsZCg0bisxKXtjbGVhcjogYm90aDt9XHJcblx0fVxyXG59XHJcblxyXG4ucGFnaW5hdGlvbntcclxuXHRkaXNwbGF5OiBibG9jazt0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblx0YXtcclxuXHRcdGRpc3BsYXk6IGlubGluZS1ibG9jazt3aWR0aDogNDBweDtoZWlnaHQ6IDQwcHg7bGluZS1oZWlnaHQ6IDQwcHg7dGV4dC1hbGlnbjogY2VudGVyO2ZvbnQtc2l6ZTogMTRweDtmb250LWZhbWlseTogJGZyZWRva2E7Y29sb3I6ICM5OTk5OTk7QGluY2x1ZGUgYm9yZGVyUmFkaXVzKDEwMCUpO21hcmdpbjogMCA1cHg7dmVydGljYWwtYWxpZ246IG1pZGRsZTtwb3NpdGlvbjogcmVsYXRpdmU7QGluY2x1ZGUgdHJhbnNpdGlvbiguMnMgYWxsIGVhc2Utb3V0KTtcclxuXHRcdCY6aG92ZXIsJi5hY3RpdmV7YmFja2dyb3VuZDokcGluaztjb2xvcjogJHdoaXRlO31cclxuXHJcblx0XHQmLnByZXZ7XHJcblx0XHRcdGJhY2tncm91bmQ6IHVybCgnLi4vaW1hZ2VzL21hdGVyaWFsL3ByZXYtc2xpZGUtZ3JleS5wbmcnKSBuby1yZXBlYXQgY2VudGVyO21hcmdpbi1yaWdodDogMzBweDtsZWZ0OiAwO1xyXG5cdFx0XHQmOmhvdmVye2xlZnQ6LTVweDt9XHJcblx0XHR9XHJcblx0XHQmLm5leHR7XHJcblx0XHRcdGJhY2tncm91bmQ6IHVybCgnLi4vaW1hZ2VzL21hdGVyaWFsL25leHQtc2xpZGUtZ3JleS5wbmcnKSBuby1yZXBlYXQgY2VudGVyO21hcmdpbi1sZWZ0OiAzMHB4O3JpZ2h0OiAwO1xyXG5cdFx0XHQmOmhvdmVye3JpZ2h0Oi01cHg7fVxyXG5cdFx0fVxyXG5cdH1cclxufVxyXG5cclxuLnByb2QtZGV0YWlse1xyXG5cdHBhZGRpbmctYm90dG9tOiA3NXB4O3Bvc2l0aW9uOiByZWxhdGl2ZTttYXJnaW4tYm90dG9tOiA2OHB4O1xyXG5cdEBpbmNsdWRlIGFmdGVyYm90aDtcclxuXHQmOmJlZm9yZXtjb250ZW50OlwiXCI7cG9zaXRpb246IGFic29sdXRlO3RvcDogMTAwJTtsZWZ0OiAwO3JpZ2h0OiAwO2hlaWdodDogMTFweDtiYWNrZ3JvdW5kOiB1cmwoJy4uL2ltYWdlcy9tYXRlcmlhbC9jYXRlZ29yaWVzLXNoYWRvdy5wbmcnKW5vLXJlcGVhdCBjZW50ZXI7YmFja2dyb3VuZC1zaXplOiAxMDAlO31cclxuXHRoMntmb250LXNpemU6IDQwcHg7bWFyZ2luLWJvdHRvbTogMzBweDt9XHJcblx0cHtmb250LXNpemU6IDE2cHg7bGluZS1oZWlnaHQ6IDI0cHg7Zm9udC1mYW1pbHk6ICRsYXRvO2NvbG9yOiAjNGY0ZjUxO31cclxuXHQ+LmxlZnR7d2lkdGg6IDQyLjczJTt9XHJcblx0Pi5yaWdodHt3aWR0aDogNDguNzElO31cclxufVxyXG5cclxuLnNsaWRlLWxne1xyXG5cdG1hcmdpbi1ib3R0b206IDIwcHg7XHJcbn1cclxuLmRvdHMtc2xpZGUtbGd7XHJcblx0Lmxpc3R7XHJcblx0XHR3aWR0aDogNTBweDt3aWR0aDogNTBweDtAaW5jbHVkZSBib3hTaXppbmcoYm9yZGVyLWJveCk7cGFkZGluZzogMTBweDtAaW5jbHVkZSBib3JkZXJSYWRpdXMoMTAwJSk7Ym9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7bWFyZ2luOiAwIDVweDtcclxuXHRcdGZpZ3VyZXtcclxuXHRcdFx0aW1ne3dpZHRoOiAxMDAlO29iamVjdC1maXQ6IGNvdmVyO31cclxuXHRcdH1cclxuXHJcblx0XHQmOmhvdmVyLCYuc2xpY2stY3VycmVudHtib3JkZXItY29sb3I6I2Q1ZDVkNTt9XHJcblx0fVxyXG59XHJcblxyXG4udGFncy1jYXRlZ29yeXtcclxuXHRtYXJnaW4tYm90dG9tOiAxNXB4O1xyXG5cdD5pe2Rpc3BsYXk6IGlubGluZS1ibG9jazt2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO21hcmdpbi1yaWdodDogMTJweDt9XHJcblx0aDZ7ZGlzcGxheTogaW5saW5lLWJsb2NrO2ZvbnQtc2l6ZTogMTZweDtjb2xvcjogJHB1cnBsZTt9XHJcbn1cclxuXHJcbi5hY2NvcmRpb24td3B7XHJcblx0bWFyZ2luLWJvdHRvbTogNDVweDtcclxuXHQubHMtYWNjLXdwe1xyXG5cdFx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlYWVhZWE7XHJcblx0XHQuYnRuLWFjY3tcclxuXHRcdFx0ZGlzcGxheTogYmxvY2s7Zm9udC1zaXplOiAxOHB4O2ZvbnQtZmFtaWx5OiAkZnJlZG9rYTtwYWRkaW5nOiAxOHB4IDE1cHg7Y29sb3I6ICM0ZjRmNTE7Y3Vyc29yOiBwb2ludGVyO3Bvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRcdFx0JjpiZWZvcmV7Y29udGVudDpcIlwiO3Bvc2l0aW9uOiBhYnNvbHV0ZTt0b3A6IDUwJTtyaWdodDogMTVweDt3aWR0aDogMTlweDtoZWlnaHQ6IDNweDtiYWNrZ3JvdW5kOiAkcGluaztkaXNwbGF5OiBibG9jazttYXJnaW4tdG9wOiAtMXB4O31cclxuXHRcdFx0JjphZnRlcntjb250ZW50OlwiXCI7cG9zaXRpb246IGFic29sdXRlO3RvcDogNTAlO3JpZ2h0OiAxNXB4O3dpZHRoOiAxOXB4O2hlaWdodDogM3B4O2JhY2tncm91bmQ6ICRwaW5rO2Rpc3BsYXk6IGJsb2NrO0BpbmNsdWRlIHRyYW5zZm9ybShyb3RhdGUoOTBkZWcpKTttYXJnaW4tdG9wOiAtMXB4O0BpbmNsdWRlIHRyYW5zaXRpb24oLjJzIGFsbCBlYXNlLW91dCk7fVxyXG5cdFx0fVxyXG5cdFx0LmRyb3AtYWNje3BhZGRpbmc6IDEwcHggMTVweCAxNXB4O2Rpc3BsYXk6IG5vbmU7fVxyXG5cclxuXHRcdCY6aG92ZXJ7XHJcblx0XHRcdC5idG4tYWNje2JhY2tncm91bmQ6ICNmM2YzZjM7fVxyXG5cdFx0fVxyXG5cdFx0Ji5hY3RpdmV7XHJcblx0XHRcdC5idG4tYWNje1xyXG5cdFx0XHRcdCY6YWZ0ZXJ7QGluY2x1ZGUgdHJhbnNmb3JtKHJvdGF0ZSgwKSk7fVxyXG5cdFx0XHR9XHJcblx0XHRcdC5kcm9wLWFjY3tcclxuXHRcdFx0XHRkaXNwbGF5OiBibG9jaztcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdFx0JjpmaXJzdC1jaGlsZHtib3JkZXItdG9wOiAxcHggc29saWQgI2VhZWFlYTt9XHJcblx0fVxyXG59XHJcblxyXG4uc2lkZWNhcnR7XHJcblx0bGFiZWx7ZGlzcGxheTogaW5saW5lLWJsb2NrO3ZlcnRpY2FsLWFsaWduOiBtaWRkbGU7bWFyZ2luLXJpZ2h0OiAzMHB4O2NvbG9yOiAjNzI3MjcyO2ZvbnQtZmFtaWx5OiAkbGF0bztmb250LXNpemU6IDE2cHg7fVxyXG5cdC5ib3gtc29zbWVke2Rpc3BsYXk6IGlubGluZS1ibG9jazt2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO31cclxuXHQ+LmxlZnR7fVxyXG5cdD4ucmlnaHR7cGFkZGluZy10b3A6IDE4cHg7fVxyXG59XHJcblxyXG4uYm94LXNvc21lZHtcclxuXHRhe1xyXG5cdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO3dpZHRoOiAyNHB4O2hlaWdodDogMjRweDtiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O2JhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjttYXJnaW4tbGVmdDogMjBweDtcclxuXHRcdCYuZmJ7YmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWFnZXMvbWF0ZXJpYWwvaWNfZmIucG5nJyk7fVxyXG5cdFx0Ji50d3tiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltYWdlcy9tYXRlcmlhbC9pY190dy5wbmcnKTt9XHJcblx0XHQmLmdwbHVze2JhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1hZ2VzL21hdGVyaWFsL2ljX2dwbHVzLnBuZycpO31cclxuXHJcblx0XHQmOmZpcnN0LWNoaWxke21hcmdpbi1sZWZ0OiAwO31cclxuXHRcdCY6aG92ZXJ7b3BhY2l0eTogLjc7fVxyXG5cdH1cclxufVxyXG5cclxuLm90aGVyLXByb2R1Y3R7XHJcblx0aDN7Zm9udC1zaXplOiAzMHB4O31cclxufVxyXG5cclxuLmJveC10aHVtYnR3b3tcclxuXHRtYXJnaW46IDAgLTE1cHg7bWFyZ2luLWJvdHRvbTogNDBweDsgdGV4dC1hbGlnbjogY2VudGVyO1xyXG5cdEBpbmNsdWRlIGFmdGVyYm90aDtcclxuXHQubHMtdGh1bWJ0d297XHJcblx0XHR3aWR0aDogMjQlO0BpbmNsdWRlIGJveFNpemluZyhib3JkZXItYm94KTtwYWRkaW5nOiAwIDE1cHg7bWFyZ2luLWJvdHRvbTogMzBweDtwb3NpdGlvbjogcmVsYXRpdmU7IGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuXHRcdGZpZ3VyZXtcclxuXHRcdFx0QGluY2x1ZGUgYm9yZGVyUmFkaXVzKDEwcHggMTBweCAwIDApO292ZXJmbG93OiBoaWRkZW47XHJcblx0XHRcdGltZ3t3aWR0aDogMTAwJTt9XHJcblx0XHR9XHJcblx0XHQuYnRuLXBsdXN7XHJcblx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTsgdG9wOiAxMHB4O3JpZ2h0OiAyNXB4O0BpbmNsdWRlIGJvcmRlclJhZGl1cygxMDAlKTtiYWNrZ3JvdW5kOiAkd2hpdGU7d2lkdGg6IDMycHg7aGVpZ2h0OiAzMnB4O1xyXG5cdFx0XHRzcGFue1xyXG5cdFx0XHRcdGRpc3BsYXk6IGJsb2NrO3dpZHRoOiAxNHB4O2hlaWdodDogMnB4O2JhY2tncm91bmQ6ICRkYXJrYmx1ZTtwb3NpdGlvbjogYWJzb2x1dGU7dG9wOiA1MCU7bGVmdDogMDtyaWdodDogMDttYXJnaW46IC0xcHggYXV0byAwO1xyXG5cdFx0XHRcdCY6bGFzdC1jaGlsZHtAaW5jbHVkZSB0cmFuc2Zvcm0ocm90YXRlKDkwZGVnKSk7fVxyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0XHQuZGVzY3tcclxuXHRcdFx0QGluY2x1ZGUgYm9yZGVyUmFkaXVzKDAgMCAxMHB4IDEwcHgpO2NvbG9yOiAkd2hpdGU7cGFkZGluZzogMjBweDtiYWNrZ3JvdW5kOiAjNDI1NThjO1xyXG5cdFx0XHRoNntmb250LWZhbWlseTogJGxhdG87bWFyZ2luLWJvdHRvbTogOHB4O2ZvbnQtc2l6ZTogMTZweDt9XHJcblx0XHRcdGg0e2ZvbnQtc2l6ZTogMjBweDtsaW5lLWhlaWdodDogMjVweDt9XHJcblxyXG5cdFx0XHQmLmJsdWV7YmFja2dyb3VuZDogIzQyNTU4Yzt9XHJcblx0XHRcdCYucGlua3tiYWNrZ3JvdW5kOiAjZjk0YjNiO31cclxuXHRcdFx0Ji55ZWxsb3d7YmFja2dyb3VuZDogI2ZhOWMwODt9XHJcblx0XHRcdCYucHVycGxle2JhY2tncm91bmQ6ICNhMjJmNmU7fVxyXG5cdFx0fVxyXG5cdFx0LmluLXRodW1idHdve1xyXG5cdFx0XHRAaW5jbHVkZSBib3JkZXJSYWRpdXMoMTBweCk7QGluY2x1ZGUgdHJhbnNpdGlvbiguMnMgYWxsIGVhc2Utb3V0KTtjdXJzb3I6IHBvaW50ZXI7XHJcblx0XHR9XHJcblxyXG5cdFx0Jjpob3ZlcntcclxuXHRcdFx0LmluLXRodW1idHdve0BpbmNsdWRlIGJveFNoYWRvdyg1cHggNXB4IDIwcHggLTVweCByZ2JhKDAsMCwwLDAuNSkpO31cclxuXHRcdH1cclxuXHR9XHJcbn1cclxuXHJcbi5ieC1ncmV5e1xyXG5cdGJhY2tncm91bmQ6ICNmNWY1ZjU7cGFkZGluZzogNTRweCA3MHB4O0BpbmNsdWRlIGJvcmRlclJhZGl1cyg1cHgpO21hcmdpbi1ib3R0b206IDQwcHg7XHJcblx0QGluY2x1ZGUgYWZ0ZXJib3RoO1xyXG5cdGgze2ZvbnQtc2l6ZTogMzBweDttYXJnaW4tYm90dG9tOiAyMHB4O31cclxuXHQ+LmxlZnR7fVxyXG5cdD4ucmlnaHR7fVxyXG5cdC5pY19xdWVzdGlvbnttYXJnaW4tdG9wOiAxNXB4O31cclxufVxyXG5cclxuLmJveC1zb3J0e1xyXG5cdG1hcmdpbi1ib3R0b206IDIwcHg7XHJcblx0QGluY2x1ZGUgYWZ0ZXJib3RoO1xyXG5cdGxhYmVse2ZvbnQtc2l6ZTogMTRweDtmb250LXdlaWdodDogNjAwO2ZvbnQtZmFtaWx5OiAkbGF0bztjb2xvcjogIzY2NjY2NjttYXJnaW4tcmlnaHQ6IDIwcHg7fVxyXG5cdHNlbGVjdHtoZWlnaHQ6IDQwcHg7cGFkZGluZzogMCAzMHB4IDAgMTVweDtiYWNrZ3JvdW5kOiAkd2hpdGUgdXJsKCcuLi9pbWFnZXMvbWF0ZXJpYWwvYXJyLXNlbGVjdC5wbmcnKSBuby1yZXBlYXQgY2VudGVyIHJpZ2h0O2JvcmRlcjoxcHggc29saWQgI2VhZWFlYTtAaW5jbHVkZSBib3JkZXJSYWRpdXMoNXB4KTtmb250LWZhbWlseTogJGxhdG87Zm9udC1zaXplOiAxNHB4O21pbi13aWR0aDogMjAwcHg7fVxyXG59XHJcblxyXG4uYm94LXF1ZXN0aW9ue1xyXG5cdG1hcmdpbi1ib3R0b206IDMwcHg7XHJcblx0LmxzLXF1ZXN0aW9ue1xyXG5cdFx0ZGlzcGxheTogYmxvY2s7cGFkZGluZzogMjBweCAzMHB4O2JvcmRlcjogMXB4IHNvbGlkICNlYWVhZWE7bWFyZ2luLWJvdHRvbTogMTBweDtAaW5jbHVkZSBib3JkZXJSYWRpdXMoM3B4KTtAaW5jbHVkZSB0cmFuc2l0aW9uKC4ycyBhbGwgZWFzZS1vdXQpO1xyXG5cdFx0aDZ7Zm9udC1mYW1pbHk6ICRsYXRvO2ZvbnQtc2l6ZTogMTZweDtmb250LXdlaWdodDogNzAwO2NvbG9yOiAjYTIyZjZlO2xpbmUtaGVpZ2h0OiAyMnB4O21hcmdpbi1ib3R0b206IDVweDt9XHJcblx0XHRoNHtmb250LWZhbWlseTogJGxhdG87Zm9udC13ZWlnaHQ6IDUwMDtjb2xvcjogIzRmNGY1MTtmb250LXNpemU6IDIwcHg7bGluZS1oZWlnaHQ6IDI4cHg7bWFyZ2luLWJvdHRvbTogMjBweDt9XHJcblx0XHQucXN0LXN0YXR1c3tcclxuXHRcdFx0Y29sb3I6ICM5OTk5OTk7Zm9udC1mYW1pbHk6ICRsYXRvO2ZvbnQtc2l6ZTogMTZweDtcclxuXHRcdFx0QGluY2x1ZGUgYWZ0ZXJib3RoO1xyXG5cdFx0fVxyXG5cclxuXHRcdCY6aG92ZXJ7QGluY2x1ZGUgYm94U2hhZG93KDAgNXB4IDIwcHggLTVweCByZ2JhKDAsMCwwLDAuMSkpO31cclxuXHR9XHJcbn1cclxuXHJcbi5ib3gtZm9ybXtcclxuXHRpbnB1dFt0eXBlPXRleHRdLFxyXG5cdGlucHV0W3R5cGU9cGFzc3dvcmRdLFxyXG5cdGlucHV0W3R5cGU9bnVtYmVyXSxcclxuXHRpbnB1dFt0eXBlPWVtYWlsXSxcclxuXHR0ZXh0YXJlYSxzZWxlY3R7XHJcblx0XHR3aWR0aDogMTAwJTtwYWRkaW5nOiAwIDI1cHg7aGVpZ2h0OiA2MHB4O0BpbmNsdWRlIGJveFNpemluZyhib3JkZXItYm94KTtiYWNrZ3JvdW5kOiAjZjVmNWY1O2JvcmRlcjogbm9uZTtAaW5jbHVkZSBib3JkZXJSYWRpdXMoMTBweCk7Y29sb3I6ICM1NTU1NTU7XHJcblx0XHRmb250LWZhbWlseTogJGxhdG87Zm9udC1zaXplOiAxNnB4O1xyXG5cdFx0QGluY2x1ZGUgYW5kcGxhY2Vob2xkZXJ7Y29sb3I6ICM5OTk5OTk7fVxyXG5cdH1cclxuXHRzZWxlY3R7YmFja2dyb3VuZDogI2Y1ZjVmNSB1cmwoJy4uL2ltYWdlcy9tYXRlcmlhbC9hcnItc2VsZWN0LnBuZycpIG5vLXJlcGVhdCBjZW50ZXIgcmlnaHQ7fVxyXG5cdHRleHRhcmVhe3Jlc2l6ZTogbm9uZTtwYWRkaW5nOiAyMHB4IDI1cHg7aGVpZ2h0OiAyNDBweDt9XHJcblx0bGFiZWx7ZGlzcGxheTogYmxvY2s7Zm9udC1zaXplOiAxNnB4O2NvbG9yOiAjMzQ4MWE1O21hcmdpbi1ib3R0b206IDEwcHg7bGluZS1oZWlnaHQ6IDIwcHg7fVxyXG5cclxuXHQuY29se1xyXG5cdFx0bWFyZ2luLWJvdHRvbTogMjVweDtcclxuXHRcdCYubm9tYXJne21hcmdpbi1ib3R0b206IDA7fVxyXG5cdH1cclxufVxyXG5cclxuLndwY29udGVudHtcclxuXHRoMntmb250LXNpemU6IDQwcHg7fVxyXG5cdGgze2ZvbnQtc2l6ZTogMzBweDt9XHJcbn1cclxuXHJcbi53ZWx7Zm9udC1mYW1pbHk6ICRsYXRvO21hcmdpbi1ib3R0b206IDIwcHg7Zm9udC1zaXplOiAxNnB4O2ZvbnQtd2VpZ2h0OiA3MDA7fVxyXG5cclxuLmJhbm5lci1ib3h7XHJcblx0cG9zaXRpb246IHJlbGF0aXZlO21pbi1oZWlnaHQ6IDIyMHB4O0BpbmNsdWRlIGJvcmRlclJhZGl1cygxMHB4KTtvdmVyZmxvdzogaGlkZGVuO21hcmdpbi1ib3R0b206IDMwcHg7XHJcblx0ZmlndXJle1xyXG5cdFx0cG9zaXRpb246IGFic29sdXRlO3RvcDogMDtsZWZ0OiAwO3JpZ2h0OiAwO2JvdHRvbTogMDt6LWluZGV4OiAxO1xyXG5cdFx0aW1ne3Bvc2l0aW9uOiBhYnNvbHV0ZTt0b3A6IDA7bGVmdDogMDt3aWR0aDogMTAwJTtoZWlnaHQ6IDEwMCU7b2JqZWN0LWZpdDogY292ZXI7fVxyXG5cdH1cclxuXHQuZGVzY3tcclxuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTt6LWluZGV4OiAyO3BhZGRpbmc6IDY1cHggNjBweCAwO2NvbG9yOiAjYjQ3NDk1O1xyXG5cdFx0aDJ7Zm9udC1zaXplOiA0MHB4O2NvbG9yOiAjZTk2Y2E5O21hcmdpbi1ib3R0b206IDIwcHg7d2lkdGg6IDc4MHB4O21heC13aWR0aDogMTAwJTt9XHJcblx0XHRwe2ZvbnQtZmFtaWx5OiAkbW9udHNlcnJhdDtmb250LXNpemU6IDE2cHg7bGluZS1oZWlnaHQ6IDI0cHg7bWFyZ2luLWJvdHRvbTogMDt3aWR0aDogNjQwcHg7bWF4LXdpZHRoOiAxMDAlO31cclxuXHR9XHJcbn1cclxuXHJcbi5ib3hzaWRle1xyXG5cdEBpbmNsdWRlIGFmdGVyYm90aDtcclxuXHRhcnRpY2xle2Zsb2F0OiBsZWZ0O3dpZHRoOiA2My41JTt9XHJcblx0YXNpZGV7ZmxvYXQ6IHJpZ2h0O3dpZHRoOiAzNC4zJTt9XHJcbn1cclxuXHJcbi50YWItd3B7XHJcblx0YmFja2dyb3VuZDogJHdoaXRlO0BpbmNsdWRlIGJvcmRlclJhZGl1cygxMHB4KTtAaW5jbHVkZSBib3hTaGFkb3coMCAwIDIwcHggLTVweCByZ2JhKDAsMCwwLDAuMDUpKTttYXJnaW4tYm90dG9tOiAyMHB4O1xyXG5cdC5idG4tdGFiLXdwe1xyXG5cdFx0cGFkZGluZzogMCA0MHB4O2JvcmRlci1ib3R0b206IDFweCBzb2xpZCAjY2NjY2NjO1xyXG5cdFx0YXtcclxuXHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO21hcmdpbjogMCAxN3B4O3BhZGRpbmc6IDIwcHggNXB4O3Bvc2l0aW9uOiByZWxhdGl2ZTtmb250LXNpemU6IDE4cHg7Y29sb3I6ICM5OTk5OTk7QGluY2x1ZGUgdHJhbnNpdGlvbiguMXMgYWxsIGVhc2Utb3V0KTtcclxuXHRcdFx0JjpiZWZvcmV7Y29udGVudDpcIlwiO3Bvc2l0aW9uOiBhYnNvbHV0ZTtib3R0b206IC0ycHg7bGVmdDogMDtyaWdodDogMDtiYWNrZ3JvdW5kOiAkYmx1ZTtoZWlnaHQ6IDNweDt3aWR0aDogMDttYXJnaW46IDAgYXV0bztAaW5jbHVkZSB0cmFuc2l0aW9uKC4xcyBhbGwgZWFzZS1vdXQpO31cclxuXHRcdFx0JjpmaXJzdC1jaGlsZHttYXJnaW4tbGVmdDowO31cclxuXHJcblx0XHRcdCY6aG92ZXJ7Y29sb3I6ICRibHVlO31cclxuXHRcdFx0Ji5hY3RpdmV7XHJcblx0XHRcdFx0Y29sb3I6ICRibHVlO1xyXG5cdFx0XHRcdCY6YmVmb3Jle3dpZHRoOjEwMCU7fVxyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG5cdC5jdG4tdGFiLXdwe1xyXG5cdFx0LmxzLXRhYi13cHtcclxuXHRcdFx0ZGlzcGxheTogbm9uZTtwYWRkaW5nOiAyOHB4IDQwcHg7XHJcblx0XHRcdCYuYWN0aXZle2Rpc3BsYXk6IGJsb2NrO31cclxuXHRcdH1cclxuXHR9XHJcbn1cclxuXHJcbi5ib3gtcXN0LWxpc3R7XHJcblx0bWFyZ2luLWJvdHRvbTogMjBweDtcclxuXHQubHMtcXN0LWxpc3R7XHJcblx0XHRwYWRkaW5nLWJvdHRvbTogMTFweDtib3JkZXItYm90dG9tOiAxcHggc29saWQgI2VhZWFlYTttYXJnaW4tYm90dG9tOiAyMHB4O2ZvbnQtZmFtaWx5OiAkbGF0bztcclxuXHRcdEBpbmNsdWRlIGFmdGVyYm90aDtcclxuXHRcdHB7Zm9udC13ZWlnaHQ6IDUwMDtjb2xvcjogIzRmNGY1MTtmb250LXNpemU6IDE2cHg7bGluZS1oZWlnaHQ6IDI0cHg7bWFyZ2luLWJvdHRvbTogMTBweDt9XHJcblx0XHQucXN0LW5vdGV7XHJcblx0XHRcdGZvbnQtc2l6ZTogMTNweDtjb2xvcjogIzk5OTk5OTtsaW5lLWhlaWdodDogMjBweDtcclxuXHRcdFx0c3Bhbntjb2xvcjogI2YyOWE0ZTt9XHJcblx0XHRcdGF7XHJcblx0XHRcdFx0bGluZS1oZWlnaHQ6IDIwcHg7ZGlzcGxheTogaW5saW5lLWJsb2NrO2NvbG9yOiAjOTk5OTk5O1xyXG5cdFx0XHRcdCYubGluay1waW5re1xyXG5cdFx0XHRcdFx0Y29sb3I6ICRwaW5rO1xyXG5cdFx0XHRcdFx0Jjpob3Zlcntjb2xvcjokYmx1ZTt9XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHRcdC5kb3Rze2Rpc3BsYXk6IGlubGluZS1ibG9jazttYXJnaW46IC0ycHggNXB4IDA7d2lkdGg6IDRweDtoZWlnaHQ6IDRweDtAaW5jbHVkZSBib3JkZXJSYWRpdXMoMTAwJSk7YmFja2dyb3VuZDojY2NjY2NjO3ZlcnRpY2FsLWFsaWduOiBtaWRkbGU7fVxyXG5cdFx0XHQuaWN3cHt2ZXJ0aWNhbC1hbGlnbjogdG9wO2hlaWdodDogMjBweDtiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7fVxyXG5cdFx0fVxyXG5cdFx0LmxpbmstaWNvbntkaXNwbGF5OiBibG9jazttYXJnaW4tYm90dG9tOiA1cHg7fVxyXG5cdFx0LmNlbnRlcm9iantmb250LXNpemU6IDE2cHg7bWFyZ2luLXRvcDogMTBweDtkaXNwbGF5OiBpbmxpbmUtYmxvY2s7fVxyXG5cdFx0Pi5sZWZ0e31cclxuXHRcdD4ucmlnaHR7fVxyXG5cclxuXHRcdCY6bGFzdC1jaGlsZHttYXJnaW4tYm90dG9tOiAwO31cclxuXHR9XHJcblxyXG5cdCYubm9tYXJne21hcmdpbi1ib3R0b206IDA7fVxyXG59XHJcblxyXG4uc2VhcmNoLXRvcGlje1xyXG5cdGNvbG9yOiAkd2hpdGU7YmFja2dyb3VuZDogJHBpbms7QGluY2x1ZGUgYm9yZGVyUmFkaXVzKDEwcHgpO3BhZGRpbmc6IDIwcHggMzhweDttYXJnaW4tYm90dG9tOiAyMHB4O1xyXG5cdEBpbmNsdWRlIGFmdGVyYm90aDtcclxuXHRoNXtmb250LXNpemU6IDE4cHg7bWFyZ2luLXRvcDogMTBweDt9XHJcblx0LmJveC1zb3J0eyBcclxuXHRcdG1hcmdpbjogMDsgXHJcblx0XHRsYWJlbHsgY29sb3I6ICNmZmY7IH1cclxuXHR9XHJcbn1cclxuXHJcbi5ib3gtc2VhcmNoLXRvcGlje1xyXG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRpbnB1dFt0eXBlPXRleHRde1xyXG5cdFx0YmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7Y29sb3I6ICR3aGl0ZTtib3JkZXI6IG5vbmU7Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICR3aGl0ZTtmb250LWZhbWlseTogJGxhdG87Zm9udC1zaXplOiAxNnB4O3BhZGRpbmc6IDAgMjBweCA3cHggMDtcclxuXHRcdEBpbmNsdWRlIGFuZHBsYWNlaG9sZGVye2NvbG9yOiAkd2hpdGU7fVxyXG5cdH1cclxuXHRpbnB1dFt0eXBlPXN1Ym1pdF17cGFkZGluZzogMDtib3JkZXI6IG5vbmU7YmFja2dyb3VuZDogdXJsKCcuLi9pbWFnZXMvbWF0ZXJpYWwvaWNfc2VhcmNoX3doaXRlLnBuZycpbm8tcmVwZWF0IGNlbnRlcjt3aWR0aDogMThweDtoZWlnaHQ6IDE4cHg7cG9zaXRpb246IGFic29sdXRlO3RvcDogMXB4O3JpZ2h0OiAwO31cclxufVxyXG5cclxuLnBvdHJhaXQtbGlzdHtcclxuXHRtYXJnaW46IDAgLTE1cHg7XHJcblx0QGluY2x1ZGUgYWZ0ZXJib3RoO1xyXG5cdC5scy1wb3RyYWl0e1xyXG5cdFx0d2lkdGg6IDMzLjMzMzMzMzMzMzMzMzMzMzMzMzMzMyU7ZmxvYXQ6IGxlZnQ7QGluY2x1ZGUgYm94U2l6aW5nKGJvcmRlci1ib3gpO3BhZGRpbmc6IDAgMTVweDtkaXNwbGF5OiBibG9jazttYXJnaW4tYm90dG9tOiAyMHB4O1xyXG5cdFx0ZmlndXJle1xyXG5cdFx0XHRvdmVyZmxvdzogaGlkZGVuO0BpbmNsdWRlIGJvcmRlclJhZGl1cygxMHB4IDEwcHggMCAwKTtcclxuXHRcdFx0PmltZ3t3aWR0aDogMTAwJTt9XHJcblx0XHR9XHJcblx0XHQuZGVzY3tcclxuXHRcdFx0YmFja2dyb3VuZDogJHdoaXRlO0BpbmNsdWRlIGJvcmRlclJhZGl1cygwIDAgMTBweCAxMHB4KTtvdmVyZmxvdzogaGlkZGVuO3BhZGRpbmc6IDE1cHggMjBweDtcclxuXHRcdFx0aDR7Y29sb3I6ICMzMzM7bWFyZ2luLWJvdHRvbTogMTBweDt9XHJcblx0XHRcdHB7Zm9udC1mYW1pbHk6ICRsYXRvO2ZvbnQtc2l6ZTogMTNweDtjb2xvcjogIzcyNzI3MjtsaW5lLWhlaWdodDogMThweDttYXJnaW4tYm90dG9tOiAxMHB4O31cclxuXHRcdFx0LnBvdC1ub3Rle1xyXG5cdFx0XHRcdGZvbnQtc2l6ZTogMTJweDtmb250LWZhbWlseTogJGxhdG87Y29sb3I6ICM5OTk5OTk7Zm9udC13ZWlnaHQ6IDcwMDtcclxuXHRcdFx0XHRzcGFue2NvbG9yOiAjZjI5YTRlO31cclxuXHRcdFx0XHQuZG90c3tkaXNwbGF5OiBpbmxpbmUtYmxvY2s7d2lkdGg6IDRweDtoZWlnaHQ6IDRweDtiYWNrZ3JvdW5kOiAjY2NjY2NjO0BpbmNsdWRlIGJvcmRlclJhZGl1cygxMDAlKTttYXJnaW46IC0xcHggM3B4IDA7dmVydGljYWwtYWxpZ246IG1pZGRsZTt9XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHRcdC5pbi1wb3RyYWl0e0BpbmNsdWRlIGJveFNoYWRvdygwIDAgMjBweCAtNXB4IHJnYmEoMCwwLDAsMC4xKSk7QGluY2x1ZGUgYm9yZGVyUmFkaXVzKDEwcHgpO0BpbmNsdWRlIHRyYW5zaXRpb24oLjJzIGFsbCBlYXNlLW91dCk7fVxyXG5cclxuXHRcdCY6aG92ZXJ7XHJcblx0XHRcdC5pbi1wb3RyYWl0e0BpbmNsdWRlIGJveFNoYWRvdygwIDAgMjBweCAwcHggcmdiYSgwLDAsMCwwLjE1KSk7fVxyXG5cdFx0fVxyXG5cdH1cclxufVxyXG5cclxuLm9ubHktbW9iaWxleyBkaXNwbGF5OiBub25lOyB9XHJcbi5ub3RpZi1mb3J1bXtcclxuXHRiYWNrZ3JvdW5kOiAjNDI1NThjO2NvbG9yOiAkd2hpdGU7QGluY2x1ZGUgYm9yZGVyUmFkaXVzKDEwcHgpO3Bvc2l0aW9uOiByZWxhdGl2ZTttYXJnaW4tYm90dG9tOiAyMHB4O1xyXG5cdC5kYXRhLW5vdGlme1xyXG5cdFx0cGFkZGluZzogMjdweCAyMHB4IDI1cHggMzVweDtwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0XHRAaW5jbHVkZSBhZnRlcmJvdGg7XHJcblx0XHRmaWd1cmV7XHJcblx0XHRcdGZsb2F0OiBsZWZ0O1xyXG5cdFx0XHRpbWd7d2lkdGg6IDYzcHg7aGVpZ2h0OiA2M3B4O0BpbmNsdWRlIGJvcmRlclJhZGl1cygxMDAlKTt9XHJcblx0XHR9XHJcblx0XHQuZGVzY3tcclxuXHRcdFx0ZmxvYXQ6IHJpZ2h0O3dpZHRoOiAzMjVweDttYXgtd2lkdGg6IDEwMCU7QGluY2x1ZGUgYm94U2l6aW5nKGJvcmRlci1ib3gpO3BhZGRpbmctdG9wOiAxMHB4O3BhZGRpbmctcmlnaHQ6IDQwcHg7XHJcblx0XHRcdGg1e2ZvbnQtc2l6ZTogMThweDttYXJnaW4tYm90dG9tOiA1cHg7Y29sb3I6ICR3aGl0ZTt9XHJcblx0XHRcdGg0e2NvbG9yOiAkd2hpdGU7fVxyXG5cdFx0XHQubGluay13aGl0ZXtmb250LWZhbWlseTogJGxhdG87fVxyXG5cdFx0fVxyXG5cdFx0LmJ0bi1ub3RpZntcclxuXHRcdFx0cG9zaXRpb246IGFic29sdXRlO3RvcDogMjNweDtyaWdodDogMzVweDt3aWR0aDogMjJweDtoZWlnaHQ6IDI3cHg7YmFja2dyb3VuZDogdXJsKCcuLi9pbWFnZXMvbWF0ZXJpYWwvaWNfbm90aWYucG5nJykgbm8tcmVwZWF0IGNlbnRlcjtjdXJzb3I6IHBvaW50ZXI7ei1pbmRleDogMjtcclxuXHRcdFx0c3BhbntkaXNwbGF5OiBibG9jaztwb3NpdGlvbjogYWJzb2x1dGU7dG9wOiAtMnB4O3JpZ2h0OiAtMTJweDtAaW5jbHVkZSBib3JkZXJSYWRpdXMoMTAwJSk7YmFja2dyb3VuZDogJHBpbms7Y29sb3I6ICR3aGl0ZTt3aWR0aDogMjBweDtoZWlnaHQ6IDIwcHg7bGluZS1oZWlnaHQ6IDIwcHg7dGV4dC1hbGlnbjogY2VudGVyO0BpbmNsdWRlIHRyYW5zaXRpb24oLjJzIGFsbCBlYXNlLW91dCk7fVxyXG5cclxuXHRcdFx0Jjpob3ZlcntcclxuXHRcdFx0XHRzcGFue2NvbG9yOiAkcGluaztiYWNrZ3JvdW5kOiAkd2hpdGU7fVxyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG5cdC5kcm9wLW5vdGlme1xyXG5cdFx0cG9zaXRpb246IGFic29sdXRlO3RvcDogMDtsZWZ0OiAwO3JpZ2h0OiAwO2JhY2tncm91bmQ6ICM0MjU1OGM7QGluY2x1ZGUgYm9yZGVyUmFkaXVzKDEwcHgpO2Rpc3BsYXk6IG5vbmU7XHJcblx0XHQuaGVhZC1ub3RpZntcclxuXHRcdFx0cGFkZGluZzogMjdweCAyMHB4IDI1cHggMzVweDtmb250LXNpemU6IDE4cHg7XHJcblx0XHR9XHJcblx0XHQuY29udGVudC1ub3RpZntcclxuXHRcdFx0YmFja2dyb3VuZDogI2UyZTlmZjtAaW5jbHVkZSBib3JkZXJSYWRpdXMoMCAwIDEwcHggMTBweCk7Y29sb3I6ICM0MjU1OGM7cGFkZGluZzogMjBweCA0MHB4O21heC1oZWlnaHQ6IDE4MHB4O292ZXJmbG93OiBhdXRvO2ZvbnQtZmFtaWx5OiAkbGF0bztmb250LXdlaWdodDogNTAwO0BpbmNsdWRlIGJveFNpemluZyhib3JkZXItYm94KTtcclxuXHRcdFx0LmxzLWN0bi1ub3RpZntcclxuXHRcdFx0XHRwYWRkaW5nOjE1cHggMDtib3JkZXItYm90dG9tOiAxcHggc29saWQgI2IyYmNkYztkaXNwbGF5OiBibG9jaztcclxuXHRcdFx0XHRwe2ZvbnQtc2l6ZTogMTZweDttYXJnaW4tYm90dG9tOiAxMHB4O31cclxuXHRcdFx0XHRzcGFue2Rpc3BsYXk6IGJsb2NrO2ZvbnQtc2l6ZTogMTNweDtjb2xvcjogIzlhYTlkNjtmb250LXdlaWdodDogNDAwO31cclxuXHJcblx0XHRcdFx0JjpmaXJzdC1jaGlsZHtwYWRkaW5nLXRvcDogMDt9XHJcblx0XHRcdFx0JjpsYXN0LWNoaWxke2JvcmRlci1ib3R0b206IG5vbmU7fVxyXG5cclxuXHRcdFx0XHQmOmhvdmVye1xyXG5cdFx0XHRcdFx0cHt0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtjb2xvcjogIzQyNTU4Yzt9XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHQmLm5vdGlmLWxvZ2lue1xyXG5cdFx0LmRhdGEtbm90aWZ7XHJcblx0XHRcdGZpZ3VyZXtcclxuXHRcdFx0XHRpbWd7QGluY2x1ZGUgYm9yZGVyUmFkaXVzKDApO3dpZHRoOiBhdXRvO2hlaWdodDogYXV0bzt9XHJcblx0XHRcdH1cclxuXHRcdFx0aDR7Zm9udC1zaXplOiAyNXB4O21hcmdpbi1ib3R0b206IDVweDt9XHJcblx0XHRcdHB7Zm9udC1zaXplOiAxNnB4O2ZvbnQtZmFtaWx5OiAkbGF0bztjb2xvcjogI2ExYWFjNjttYXJnaW4tYm90dG9tOiAwO31cclxuXHRcdFx0LmRlc2N7cGFkZGluZy10b3A6IDA7fVxyXG5cdFx0fVxyXG5cdH1cclxufVxyXG5cclxuLnJvdW5kZWQtYm94e1xyXG5cdGJhY2tncm91bmQ6ICR3aGl0ZTtAaW5jbHVkZSBib3JkZXJSYWRpdXMoMTBweCk7bWFyZ2luLWJvdHRvbTogMjBweDtvdmVyZmxvdzogaGlkZGVuO0BpbmNsdWRlIGJveFNoYWRvdygwIDAgMjBweCAtNXB4IHJnYmEoMCwwLDAsMC4xKSk7XHJcblx0LnR0bC1yb3VuZGVke3BhZGRpbmc6IDIwcHggNDBweDtib3JkZXItYm90dG9tOiAxcHggc29saWQgI2NjY2NjYzt9XHJcblx0LmN0bi1yb3VuZGVke1xyXG5cdFx0cGFkZGluZzogMjBweCA0MHB4O1xyXG5cdFx0Ji5ub3BhZGR7cGFkZGluZzogMDt9XHJcblx0fVxyXG5cclxuXHQmLnFzdC1ib3h7XHJcblx0XHQudHRsLXJvdW5kZWR7YmFja2dyb3VuZDogI2Y5NGIzYjtib3JkZXItYm90dG9tOiBub25lO2NvbG9yOiAkd2hpdGU7fVxyXG5cdFx0LmN0bi1yb3VuZGVke1xyXG5cdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7Y29sb3I6ICR3aGl0ZTtcclxuXHRcdFx0LmRlc2N7XHJcblx0XHRcdFx0cG9zaXRpb246IGFic29sdXRlO3RvcDogNTAlO3JpZ2h0OiAzMHB4O0BpbmNsdWRlIHRyYW5zZm9ybSh0cmFuc2xhdGVZKC01MCUpKTt0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblx0XHRcdFx0aDZ7Zm9udC1zaXplOiAxNnB4O2xpbmUtaGVpZ2h0OiAyNHB4O31cclxuXHRcdFx0XHRoM3tmb250LXNpemU6IDI4cHg7bGluZS1oZWlnaHQ6IDM2cHg7bWFyZ2luLWJvdHRvbTogMTBweDt9XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdCYuZGV0YWlsLWZvcnVte1xyXG5cdFx0Zm9udC1mYW1pbHk6ICRsYXRvO1xyXG5cdFx0aDN7Zm9udC1zaXplOiAyNXB4O2xpbmUtaGVpZ2h0OiAzNXB4O2ZvbnQtZmFtaWx5OiAkZnJlZG9rYTttYXJnaW4tYm90dG9tOiAxMHB4O31cclxuXHRcdGhye2JvcmRlcjogbm9uZTtoZWlnaHQ6IDFweDtkaXNwbGF5OiBibG9jaztjbGVhcjogYm90aDtiYWNrZ3JvdW5kOiAjY2NjY2NjO31cclxuXHRcdHB7Zm9udC1zaXplOiAxOHB4O2xpbmUtaGVpZ2h0OiAzMHB4O2NvbG9yOiAjNGY0ZjUxO31cclxuXHRcdC5kYXRlcG9zdHtcclxuXHRcdFx0Zm9udC1zaXplOiAxNnB4O2NvbG9yOiAjOTk5OTk5O21hcmdpbi1ib3R0b206IDI1cHg7XHJcblx0XHRcdGF7Y29sb3I6ICRwaW5rO31cclxuXHRcdH1cclxuXHRcdC5pbWFnZXN7IHRleHQtYWxpZ246IGNlbnRlcjsgbWFyZ2luLWJvdHRvbTogMjBweDsgd2lkdGg6IDEwMCU7fVxyXG5cdH1cclxufVxyXG5cclxuLmJveC10ZXh0LXJlcGx5e1xyXG5cdEBpbmNsdWRlIGFmdGVyYm90aDtcclxuXHRmaWd1cmV7XHJcblx0XHRmbG9hdDogbGVmdDt3aWR0aDogNjBweDtcclxuXHRcdGltZ3t3aWR0aDogNjBweDtoZWlnaHQ6IDYwcHg7QGluY2x1ZGUgYm9yZGVyUmFkaXVzKDEwMCUpO31cclxuXHR9XHJcblx0LnRleHR7XHJcblx0XHRmbG9hdDogcmlnaHQ7d2lkdGg6IDcxMHB4O3Bvc2l0aW9uOiByZWxhdGl2ZTttYXgtd2lkdGg6IDEwMCU7XHJcblx0XHRpbnB1dFt0eXBlPXRleHRde1xyXG5cdFx0XHRib3JkZXI6IG5vbmU7aGVpZ2h0OiA2MHB4O3BhZGRpbmc6IDA7Zm9udC1zaXplOiAyNXB4O3dpZHRoOiAxMDAlO3BhZGRpbmctcmlnaHQ6IDEwMHB4O0BpbmNsdWRlIGJveFNpemluZyhib3JkZXItYm94KTtmb250LWZhbWlseTogJGxhdG87YmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XHJcblx0XHRcdEBpbmNsdWRlIGFuZHBsYWNlaG9sZGVye2ZvbnQtc3R5bGU6IGl0YWxpYztjb2xvcjogIzk5OTk5OTt9XHJcblx0XHR9XHJcblx0XHRpbnB1dFt0eXBlPXN1Ym1pdF0sLmJ0bi1yb3VuZGVke3Bvc2l0aW9uOiBhYnNvbHV0ZTt0b3A6IDEwcHg7cmlnaHQ6IDA7fVxyXG5cdFx0aDR7Zm9udC1mYW1pbHk6ICRsYXRvO2ZvbnQtc2l6ZTogMjVweDtjb2xvcjogIzk5OTk5OTttYXJnaW4tdG9wOiAxNXB4O31cclxuXHR9XHJcblxyXG5cdCYuYm94LXRleHQtY29tbWVudHtcclxuXHRcdGJhY2tncm91bmQ6ICNlY2VjZWM7QGluY2x1ZGUgYm9yZGVyUmFkaXVzKDEwcHgpO3BhZGRpbmc6IDEwcHggMTVweDsgZGlzcGxheTogbm9uZTsgQGluY2x1ZGUgdHJhbnNpdGlvbiguNHMgYWxsIGVhc2Utb3V0KTtcclxuXHRcdC50ZXh0e1xyXG5cdFx0XHR3aWR0aDogNjgwcHg7XHJcblx0XHRcdGlucHV0W3R5cGU9dGV4dF17Zm9udC1zaXplOiAxOHB4O31cclxuXHRcdH1cclxuXHR9XHJcbn1cclxuXHJcbi5ib3gtcmVwbHl7XHJcblx0LmhlYWQtcmVwbHl7XHJcblx0XHRwYWRkaW5nLWJvdHRvbTogMjBweDtib3JkZXItYm90dG9tOiAxcHggc29saWQgI2NjY2NjYzttYXJnaW4tYm90dG9tOiAyMHB4O1xyXG5cdFx0QGluY2x1ZGUgYWZ0ZXJib3RoO1xyXG5cdFx0ZmlndXJle1xyXG5cdFx0XHRmbG9hdDogbGVmdDtcclxuXHRcdFx0aW1ne0BpbmNsdWRlIGJvcmRlclJhZGl1cygxMDAlKTt3aWR0aDogNjBweDtoZWlnaHQ6IDYwcHg7fVxyXG5cdFx0fVxyXG5cdFx0LmRlc2N7XHJcblx0XHRcdHdpZHRoOiA3MDVweDtmbG9hdDogcmlnaHQ7cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdFx0XHRoNXtmb250LXNpemU6IDE4cHg7Y29sb3I6ICRwaW5rO2xpbmUtaGVpZ2h0OiAyNnB4O21hcmdpbi1ib3R0b206IDVweDt9XHJcblx0XHRcdHNwYW57ZGlzcGxheTogYmxvY2s7Zm9udC1zaXplOiAxNnB4O2NvbG9yOiAjOTk5OTk5O2ZvbnQtZmFtaWx5OiAkbGF0bzt9XHJcblx0XHRcdC5idG4tcmVwbHl7cG9zaXRpb246IGFic29sdXRlO3RvcDogMTVweDtyaWdodDogMDt9XHJcblx0XHR9XHJcblx0fVxyXG5cdC5jdG4tcmVwbHl7XHJcblx0XHRmb250LWZhbWlseTogJGxhdG87XHJcblx0XHRwe2ZvbnQtc2l6ZTogMThweDtsaW5lLWhlaWdodDogMzBweDtjb2xvcjogIzRmNGY1MTt9XHJcblx0XHQucmVwbHktcXVvdGVze1xyXG5cdFx0XHRiYWNrZ3JvdW5kOiAjZWNlY2VjO21hcmdpbi1ib3R0b206IDMwcHg7QGluY2x1ZGUgYm9yZGVyUmFkaXVzKDEwcHgpO3BhZGRpbmc6IDI1cHggMjhweDtcclxuXHRcdFx0cHttYXJnaW4tYm90dG9tOiAwO31cclxuXHRcdFx0LmhlYWQtcmVwbHktcXVvdGVze1xyXG5cdFx0XHRcdG1hcmdpbi1ib3R0b206IDEwcHg7Y29sb3I6ICM0ZjRmNTE7Zm9udC1zdHlsZTogaXRhbGljO1xyXG5cdFx0XHRcdGF7Y29sb3I6ICRwaW5rO31cclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxuXHQmLmFjdGl2ZXtcclxuXHRcdC5ib3gtdGV4dC1yZXBseS5ib3gtdGV4dC1jb21tZW50eyBkaXNwbGF5OiBibG9jazsgQGluY2x1ZGUgdHJhbnNpdGlvbiguNHMgYWxsIGVhc2Utb3V0KTsgfVxyXG5cdH1cclxufVxyXG5cclxuLmJyZWFkY3J1bWJ7XHJcblx0Zm9udC1mYW1pbHk6ICRsYXRvO2ZvbnQtc2l6ZTogMTNweDttYXJnaW4tYm90dG9tOiAxNXB4O1xyXG5cdGF7XHJcblx0XHRjb2xvcjogIzk5OTk5OTtcclxuXHRcdCYuYWN0aXZle2NvbG9yOiAkYmx1ZTt9XHJcblx0fVxyXG59XHJcblxyXG4uZm9ybS1ib3h7XHJcblx0YmFja2dyb3VuZDogJHdoaXRlO0BpbmNsdWRlIGJvcmRlclJhZGl1cygxMHB4KTtwb3NpdGlvbjogcmVsYXRpdmU7cGFkZGluZzogMTBweCA0MHB4O21hcmdpbi1ib3R0b206IDIwcHg7QGluY2x1ZGUgYm94U2hhZG93KDAgMCAyMHB4IC01cHggcmdiYSgwLDAsMCwwLjEpKTtcclxuXHRsYWJlbHtkaXNwbGF5OiBibG9jaztjb2xvcjogJGJsdWU7Zm9udC1zaXplOiAxNnB4O2xpbmUtaGVpZ2h0OiAzMHB4O31cclxuXHRzZWxlY3R7XHJcblx0XHRwYWRkaW5nOiAwIDMwcHggMCAwO2NvbG9yOiAjOTk5OTk5O2ZvbnQtZmFtaWx5OiAkbGF0bztmb250LXdlaWdodDogNTAwO2ZvbnQtc2l6ZTogMTZweDtib3JkZXI6IG5vbmU7aGVpZ2h0OiAzMHB4O0BpbmNsdWRlIGJveFNpemluZyhib3JkZXItYm94KTtiYWNrZ3JvdW5kOiAkd2hpdGUgdXJsKCcuLi9pbWFnZXMvbWF0ZXJpYWwvYXJyb3ctZG93bi5wbmcnKW5vLXJlcGVhdCBjZW50ZXIgcmlnaHQ7XHJcblx0fVxyXG5cdHNwYW4uZGVmYXVsdCxcclxuXHRpbnB1dFt0eXBlPVwiZmlsZVwiXSxcclxuXHRpbnB1dFt0eXBlPXRleHRdLFxyXG5cdGlucHV0W3R5cGU9ZW1haWxdLFxyXG5cdGlucHV0W3R5cGU9bnVtYmVyXSxcclxuXHRpbnB1dFt0eXBlPXBhc3N3b3JkXXtcclxuXHRcdHBhZGRpbmc6IDA7Y29sb3I6ICM5OTk5OTk7Zm9udC1mYW1pbHk6ICRsYXRvO2ZvbnQtd2VpZ2h0OiA1MDA7Zm9udC1zaXplOiAxNnB4O2JvcmRlcjogbm9uZTtoZWlnaHQ6IDMwcHg7QGluY2x1ZGUgYm94U2l6aW5nKGJvcmRlci1ib3gpO2NvbG9yOiAjMzMzMzMzO1xyXG5cdFx0QGluY2x1ZGUgYW5kcGxhY2Vob2xkZXJ7Y29sb3I6Izk5OTk5OTt9XHJcblx0fVxyXG5cdHRleHRhcmVhe1xyXG5cdFx0Ym9yZGVyOiBub25lO3dpZHRoOiAxMDAlO3Jlc2l6ZTogbm9uZTtmb250LXNpemU6IDE2cHg7d2lkdGg6IDEwMCU7aGVpZ2h0OiAxODVweDtwYWRkaW5nOiAwO1xyXG5cdFx0QGluY2x1ZGUgYW5kcGxhY2Vob2xkZXJ7Zm9udC1zdHlsZTogaXRhbGljO2NvbG9yOiAjOTk5OTk5O31cclxuXHR9XHJcblxyXG5cdC5yb3d7XHJcblx0XHRib3JkZXItYm90dG9tOiAxcHggc29saWQgI2NjY2NjYztwYWRkaW5nLWJvdHRvbTogMTVweDttYXJnaW4tYm90dG9tOiAyNXB4O1xyXG5cdFx0QGluY2x1ZGUgYWZ0ZXJib3RoO1xyXG5cdFx0bGFiZWx7ZmxvYXQ6IGxlZnQ7fVxyXG5cdFx0c2VsZWN0e2Zsb2F0OiByaWdodDt3aWR0aDogNjUwcHg7fVxyXG5cdFx0aW5wdXRbdHlwZT1cImZpbGVcIl0sXHJcblx0XHRpbnB1dFt0eXBlPXRleHRdLFxyXG5cdFx0aW5wdXRbdHlwZT1lbWFpbF0sXHJcblx0XHRpbnB1dFt0eXBlPW51bWJlcl0sXHJcblx0XHRpbnB1dFt0eXBlPXBhc3N3b3JkXXtmbG9hdDogcmlnaHQ7d2lkdGg6IDYzMHB4O21heC13aWR0aDogMTAwJTt9XHJcblxyXG5cdFx0JjpsYXN0LWNoaWxke2JvcmRlci1ib3R0b206IG5vbmU7cGFkZGluZy1ib3R0b206IDA7bWFyZ2luLWJvdHRvbTogMDt9XHJcblx0fVxyXG5cdC5pbnB1dF9maWxlIHtcclxuICAgICAgICBmb250LXNpemU6IDE2cHg7IGNvbG9yOiAjNjY2OyBAaW5jbHVkZSBib3hTaXppbmcoYm9yZGVyLWJveCk7IHdpZHRoOiA2OTBweCAhaW1wb3J0YW50O1xyXG4gICAgICAgIHBhZGRpbmctbGVmdDogODBweDsgQGluY2x1ZGUgYm9yZGVyUmFkaXVzKDVweCk7IGJhY2tncm91bmQ6IHVybCgnLi4vaW1hZ2VzL21hdGVyaWFsL2ljb19maWxlLnBuZycpIG5vLXJlcGVhdCA5NSUgY2VudGVyO1xyXG4gICAgICAgIGlucHV0W3R5cGU9XCJmaWxlXCJdIHtAaW5jbHVkZSBib3hTaXppbmcoYm9yZGVyLWJveCk7Ym9yZGVyOiBub25lOyByaWdodDogMDsgd2lkdGg6IDYzMHB4O31cclxuICAgICAgICBzcGFuIHtmb250LXNpemU6IDE2cHg7IGNvbG9yOiAjNjY2OyBkaXNwbGF5OiBibG9jazsgcGFkZGluZy1yaWdodDogNDBweDsgdGV4dC1vdmVyZmxvdzplbGxpcHNpczsgb3ZlcmZsb3c6IGhpZGRlbjsgd2hpdGUtc3BhY2U6IG5vd3JhcDsgbGluZS1oZWlnaHQ6IDIycHg7IGZvbnQtZmFtaWx5OiAkbGF0bzt9XHJcbiAgICB9XHJcbiAgICBzcGFuLmRlZmF1bHR7IHBhZGRpbmctbGVmdDogNDBweDsgbGluZS1oZWlnaHQ6IDMwcHg7IGZvbnQtd2VpZ2h0OiA3MDA7fVxyXG5cdCYucmdsaW5re1xyXG5cdFx0LnJvd3tcclxuXHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdFx0XHRpbnB1dFt0eXBlPXRleHRdLFxyXG5cdFx0XHRpbnB1dFt0eXBlPWVtYWlsXSxcclxuXHRcdFx0aW5wdXRbdHlwZT1udW1iZXJdLFxyXG5cdFx0XHRpbnB1dFt0eXBlPXBhc3N3b3JkXXtwYWRkaW5nLXJpZ2h0OiAxMzBweDt9XHJcblx0XHRcdC5saW5rLXJpZ2h0e3Bvc2l0aW9uOiBhYnNvbHV0ZTt0b3A6IDdweDtyaWdodDogMDtmb250LXNpemU6IDE2cHg7fVxyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0Ji50d29jb2x1bW57XHJcblx0XHRAaW5jbHVkZSBhZnRlcmJvdGg7XHJcblx0XHQuY29sLWxpc3R7XHJcblx0XHRcdHdpZHRoOiA0OSU7ZmxvYXQ6IGxlZnQ7bWFyZ2luLWJvdHRvbTogMDtiYWNrZ3JvdW5kOiAjZjVmNWY1O3BhZGRpbmc6IDEwcHggMjBweDtAaW5jbHVkZSBib3hTaXppbmcoYm9yZGVyLWJveCk7QGluY2x1ZGUgYm9yZGVyUmFkaXVzKDEwcHgpO1xyXG5cdFx0XHQucm93e1xyXG5cdFx0XHRcdGlucHV0W3R5cGU9dGV4dF0sXHJcblx0XHRcdFx0aW5wdXRbdHlwZT1lbWFpbF0sXHJcblx0XHRcdFx0aW5wdXRbdHlwZT1udW1iZXJdLFxyXG5cdFx0XHRcdGlucHV0W3R5cGU9cGFzc3dvcmRde3dpZHRoOiA2MCU7YmFja2dyb3VuZDogI2Y1ZjVmNTt9XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdCY6bnRoLWNoaWxkKGV2ZW4pe2Zsb2F0OiByaWdodDt9XHJcblx0XHR9XHJcblx0fVxyXG59XHJcblxyXG4uYm94LWNhbGVuZGVye1xyXG5cdGZvbnQtZmFtaWx5OiAkbGF0bztmb250LXNpemU6IDIwcHg7bGluZS1oZWlnaHQ6IDMwcHg7XHJcblx0LnJvd3tcclxuXHRcdG1hcmdpbjogMCAtMTVweDtcclxuXHRcdEBpbmNsdWRlIGFmdGVyYm90aDtcclxuXHRcdC5jb2x7XHJcblx0XHRcdGRpc3BsYXk6IGJsb2NrO2Zsb2F0OiBsZWZ0O3dpZHRoOiAxNC4yODU3MTQyODU3MTQ5JTt0ZXh0LWFsaWduOiBjZW50ZXI7cGFkZGluZzogMCAxNXB4O0BpbmNsdWRlIGJveFNpemluZyhib3JkZXItYm94KTtcclxuXHRcdH1cclxuXHR9XHJcblx0LmhlYWQtY2FsZW5kZXJ7XHJcblx0XHRmb250LXdlaWdodDogNzAwO2NvbG9yOiAjZWU3MTY0O21hcmdpbi1ib3R0b206IDMwcHg7XHJcblx0fVxyXG5cdC5ib2R5LWNhbGVuZGVye1xyXG5cdFx0LmNvbHtcclxuXHRcdFx0bWFyZ2luLWJvdHRvbTogMTBweDtcclxuXHRcdFx0YXtkaXNwbGF5OiBpbmxpbmUtYmxvY2s7d2lkdGg6IDYwcHg7aGVpZ2h0OiA2MHB4O2xpbmUtaGVpZ2h0OiA2MHB4O0BpbmNsdWRlIGJvcmRlclJhZGl1cygxMDAlKTtiYWNrZ3JvdW5kOiAkd2hpdGU7Y29sb3I6ICM5OTk5OTk7Y3Vyc29yOiBkZWZhdWx0O31cclxuXHJcblx0XHRcdCYucGlua3tcclxuXHRcdFx0XHRhe2JhY2tncm91bmQ6ICNmYTQ1NzM7Y29sb3I6ICR3aGl0ZTt9XHJcblx0XHRcdH1cclxuXHRcdFx0Ji5ibHVle1xyXG5cdFx0XHRcdGF7YmFja2dyb3VuZDogJGJsdWU7Y29sb3I6ICR3aGl0ZTt9XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9XHJcbn1cclxuXHJcbi5wb3B1cHtcclxuXHRwb3NpdGlvbjogZml4ZWQ7dG9wOiAwO2xlZnQ6IDA7cmlnaHQ6IDA7Ym90dG9tOiAwO2JhY2tncm91bmQ6IHJnYmEoMCwwLDAsMC43KTt6LWluZGV4OiAxMDA7ZGlzcGxheTogbm9uZTtcclxuXHQuaW5wb3B1cHtcclxuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTt0b3A6IDA7bGVmdDogMDtyaWdodDogMDtib3R0b206IDA7bWF4LWhlaWdodDogOTB2aDttYXJnaW46IDUlIGF1dG87YmFja2dyb3VuZDogJHdoaXRlO3dpZHRoOiAxMTcwcHg7QGluY2x1ZGUgYm9yZGVyUmFkaXVzKDEwcHgpO3BhZGRpbmc6IDUwcHggMTAwcHg7QGluY2x1ZGUgYm94U2l6aW5nKGJvcmRlci1ib3gpO2ZvbnQtZmFtaWx5OiAkbGF0bztcclxuXHRcdGgye2ZvbnQtc2l6ZTo0MHB4O2xpbmUtaGVpZ2h0OiA1MHB4O21hcmdpbi1ib3R0b206IDIwcHg7Zm9udC1mYW1pbHk6ICRmcmVkb2thO31cclxuXHRcdGg0e2ZvbnQtZmFtaWx5OiAkZnJlZG9rYTtmb250LXNpemU6IDI0cHg7bGluZS1oZWlnaHQ6IDMycHg7bWFyZ2luLWJvdHRvbTogNXB4O31cclxuXHRcdGlmcmFtZXt3aWR0aDogMTAwJTtoZWlnaHQ6IDU0OHB4O21hcmdpbi1ib3R0b206IDMwcHg7fVxyXG5cdFx0cHtmb250LXNpemU6IDE2cHg7bGluZS1oZWlnaHQ6IDI0cHg7fVxyXG5cdFx0LnRwcm9maWxle21hcmdpbi1ib3R0b206IDIwcHg7ZGlzcGxheTogYmxvY2s7Zm9udC1zdHlsZTogaXRhbGljO2NvbG9yOiAkcHVycGxlO31cclxuXHRcdC5jb250ZW50LXBvcHtcclxuXHRcdFx0b3ZlcmZsb3c6IGF1dG87bWF4LWhlaWdodDogMTAwJTtwYWRkaW5nOiAwIDAgMjBweDtcclxuXHRcdFx0LndyYXBwZXJ7IHdpZHRoOiBhdXRvOyB9XHJcblx0XHRcdC5zdG9yZXtcclxuXHRcdFx0XHRpbWd7IHdpZHRoOiAyMjBweDsgfVxyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0XHQuaGVhZGVyLXRpdGxleyBmb250LWZhbWlseTogJGZyZWRva2E7IGxpbmUtaGVpZ2h0OiA0MHB4OyB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cclxuXHRcdC5jaG9vc2UtYnRueyBcclxuXHRcdFx0d2lkdGg6IDEwMCU7XHJcblx0XHRcdGF7IHdpZHRoOiA0OSU7IH0gXHJcblx0XHRcdC5idG4tcm91bmRlZHtcclxuXHRcdFx0XHQmLmdyZWVueyBcclxuXHRcdFx0XHRcdGJhY2tncm91bmQtY29sb3I6ICM0OTliN2Q7IGJvcmRlcjoxcHggc29saWQgIzQ5OWI3ZDtcclxuXHRcdFx0XHRcdCY6aG92ZXJ7IGNvbG9yOiAjNDk5YjdkOyBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmOyBib3JkZXI6MXB4IHNvbGlkICM0OTliN2Q7IH1cclxuXHRcdFx0XHR9XHJcblx0XHRcdFx0Ji5yZWR7IFxyXG5cdFx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogI2U3NGMzYzsgYm9yZGVyOjFweCBzb2xpZCAjZTc0YzNjO1xyXG5cdFx0XHRcdFx0Jjpob3ZlcnsgY29sb3I6ICNlNzRjM2M7IGJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlcjoxcHggc29saWQgI2U3NGMzYzsgfVxyXG5cdFx0XHRcdH1cclxuXHRcdFx0XHRcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdFx0Ji5zbWFsbC1wb3B1cHsgXHJcblx0XHRcdHdpZHRoOiA1MDBweDsgaGVpZ2h0OiAzMDBweDsgcGFkZGluZzo2MHB4IDUwcHg7XHJcblx0XHR9XHJcblxyXG5cdFx0LmNsb3NlLXBvcHtcclxuXHRcdFx0cG9zaXRpb246IGFic29sdXRlO3RvcDogMjBweDtyaWdodDogMjBweDt3aWR0aDogNDBweDtoZWlnaHQ6IDQwcHg7YmFja2dyb3VuZDogJGJsdWU7Y3Vyc29yOiBwb2ludGVyO0BpbmNsdWRlIHRyYW5zaXRpb24oLjJzIGFsbCBlYXNlLW91dCk7XHJcblx0XHRcdHNwYW57XHJcblx0XHRcdFx0ZGlzcGxheTogYmxvY2s7d2lkdGg6IDI0cHg7aGVpZ2h0OiAycHg7YmFja2dyb3VuZDogJHdoaXRlO3Bvc2l0aW9uOiBhYnNvbHV0ZTt0b3A6IDUwJTtsZWZ0OiA1MCU7bWFyZ2luOiAtMXB4IDAgMCAtMTJweDtAaW5jbHVkZSB0cmFuc2Zvcm0ocm90YXRlKDQ1ZGVnKSk7XHJcblx0XHRcdFx0JjpsYXN0LWNoaWxke0BpbmNsdWRlIHRyYW5zZm9ybShyb3RhdGUoLTQ1ZGVnKSk7fVxyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHQmOmhvdmVye2JhY2tncm91bmQ6ICRwaW5rO31cclxuXHRcdH1cclxuXHR9XHJcblx0LmFycm93LXNsaWRle1xyXG5cdFx0YXtcclxuXHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO3dpZHRoOiA1MHB4O2hlaWdodDogNTBweDtAaW5jbHVkZSBib3JkZXJSYWRpdXMoMTAwJSk7cG9zaXRpb246IGFic29sdXRlO3RvcDogNTAlO2JvcmRlcjogMnB4IHNvbGlkICNlOTZjYTk7bWFyZ2luLXRvcDogLTI1cHg7QGluY2x1ZGUgdHJhbnNpdGlvbiguMnMgYWxsIGVhc2Utb3V0KTtcclxuXHRcdFx0Ji5wcmV2e2xlZnQ6LTcwcHg7YmFja2dyb3VuZDogdXJsKCcuLi9pbWFnZXMvbWF0ZXJpYWwvcHJldi1zbGlkZS1sZy5wbmcnKSBuby1yZXBlYXQgY2VudGVyO31cclxuXHRcdFx0Ji5uZXh0e3JpZ2h0Oi03MHB4O2JhY2tncm91bmQ6IHVybCgnLi4vaW1hZ2VzL21hdGVyaWFsL25leHQtc2xpZGUtbGcucG5nJykgbm8tcmVwZWF0IGNlbnRlcjt9XHJcblxyXG5cdFx0XHQmOmhvdmVye2JhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LDI1NSwyNTUsLjUpO31cclxuXHRcdH1cclxuXHR9XHJcbn0iLCIvKj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVx0XHJcbiAgICBDb21wYW55ICAgIDogUFQgV2ViIEFyY2hpdGVjdCBUZWNobm9sb2d5IC0gd2ViYXJxLmNvbVxyXG4gICAgRG9jdW1lbnQgICA6IFN0eWxlc2hlZXRcclxuICAgIEF1dGhvciAgICAgOiBGcm9udEVuZCBUZWFtICBcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSovXHJcblxyXG4vKiBpbXBvcnQgYm91cmJvbiAtIGh0dHA6Ly9ib3VyYm9uLmlvL2RvY3MgKi9cclxuQGltcG9ydCBcImJvdXJib24vYm91cmJvblwiO1xyXG5cclxuQG1peGluIHRyYW5zaXRpb24oJGF0dHIpe1xyXG4gICAgdHJhbnNpdGlvbjogJGF0dHI7XHJcbiAgICAtd2Via2l0LXRyYW5zaXRpb246ICRhdHRyO1xyXG4gICAgLW1vei10cmFuc2l0aW9uOiAkYXR0cjtcclxuICAgIC1tcy10cmFuc2l0aW9uOiAkYXR0cjtcclxuICAgIC1vLXRyYW5zaXRpb246ICRhdHRyO1xyXG59XHJcbkBtaXhpbiB0cmFuc2Zvcm0oJGF0dHIpe1xyXG4gICAgdHJhbnNmb3JtOiAkYXR0cjtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiAkYXR0cjtcclxuICAgIC1tb3otdHJhbnNmb3JtOiAkYXR0cjtcclxuICAgIC1tcy10cmFuc2Zvcm06ICRhdHRyO1xyXG4gICAgLW8tdHJhbnNmb3JtOiAkYXR0cjtcclxufVxyXG5AbWl4aW4gYm9yZGVyUmFkaXVzKCRhdHRyKXtcclxuICAgIGJvcmRlci1yYWRpdXM6ICRhdHRyO1xyXG4gICAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiAkYXR0cjtcclxuICAgIC1tb3otYm9yZGVyLXJhZGl1czogJGF0dHI7XHJcbiAgICAtbXMtYm9yZGVyLXJhZGl1czogJGF0dHI7XHJcbiAgICAtby1ib3JkZXItcmFkaXVzOiAkYXR0cjtcclxufVxyXG5AbWl4aW4gYm94U2hhZG93KCRhdHRyKXtcclxuICAgIGJveC1zaGFkb3c6ICAkYXR0cjtcclxuICAgIC13ZWJraXQtYm94LXNoYWRvdzogJGF0dHI7XHJcbiAgICAtbW96LWJveC1zaGFkb3c6ICRhdHRyO1xyXG4gICAgLW1zLWJveC1zaGFkb3c6ICRhdHRyO1xyXG4gICAgLW8tYm94LXNoYWRvdzogJGF0dHJcclxufVxyXG5AbWl4aW4gYm94U2l6aW5nKCRhdHRyKXtcclxuICAgIGJveC1zaXppbmc6ICAkYXR0cjtcclxuICAgIC13ZWJraXQtYm94LXNpemluZzogJGF0dHI7XHJcbiAgICAtbW96LWJveC1zaXppbmc6ICRhdHRyO1xyXG4gICAgLW1zLWJveC1zaXppbmc6ICRhdHRyO1xyXG4gICAgLW8tYm94LXNpemluZzogJGF0dHJcclxufVxyXG5AbWl4aW4gcGxhY2Vob2xkZXIge1xyXG4gICAgOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHtAY29udGVudH1cclxuICAgIDotbW96LXBsYWNlaG9sZGVyICAgICAgICAgICB7QGNvbnRlbnR9XHJcbiAgICA6Oi1tb3otcGxhY2Vob2xkZXIgICAgICAgICAge0Bjb250ZW50fVxyXG4gICAgOi1tcy1pbnB1dC1wbGFjZWhvbGRlciAgICAgIHtAY29udGVudH0gIFxyXG59XHJcbkBtaXhpbiBhbmRwbGFjZWhvbGRlciB7XHJcbiAgICAmOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHtAY29udGVudH1cclxuICAgICY6LW1vei1wbGFjZWhvbGRlciAgICAgICAgICAge0Bjb250ZW50fVxyXG4gICAgJjo6LW1vei1wbGFjZWhvbGRlciAgICAgICAgICB7QGNvbnRlbnR9XHJcbiAgICAmOi1tcy1pbnB1dC1wbGFjZWhvbGRlciAgICAgIHtAY29udGVudH0gIFxyXG59XHJcbkBtaXhpbiBib3hTaXppbmcoJGF0dHIpe1xyXG4gICAgLXdlYmtpdC1ib3gtc2l6aW5nOiAkYXR0cjtcclxuICAgIC1tb3otYm94LXNpemluZzogJGF0dHI7XHJcbiAgICBib3gtc2l6aW5nOiAkYXR0cjtcclxufVxyXG5AbWl4aW4gY29sdW1uKCRhdHRyKXtcclxuICAgIC13ZWJraXQtY29sdW1uLWNvdW50OiAkYXR0cjsgLyogQ2hyb21lLCBTYWZhcmksIE9wZXJhICovXHJcbiAgICAtbW96LWNvbHVtbi1jb3VudDogJGF0dHI7IC8qIEZpcmVmb3ggKi9cclxuICAgIGNvbHVtbi1jb3VudDogJGF0dHI7XHJcbn1cclxuQG1peGluIGFmdGVyYm90aHtcclxuICAgICY6YWZ0ZXJ7Y29udGVudDpcIlwiO2NsZWFyOiBib3RoO2Rpc3BsYXk6IGJsb2NrO31cclxufVxyXG5cclxuJGZyZWRva2E6ICdGcmVkb2thIE9uZSc7XHJcbiRsYXRvOiAnTGF0byc7XHJcbiRtb250c2VycmF0OiAnTW9udHNlcnJhdCc7XHJcblxyXG4vKiBjb2xvciBnbG9iYWxcclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXHJcbiRjXzExMTogIzExMTtcclxuJGNfMzMzOiAjMzMzO1xyXG4kY182NjY6ICM2NjY7XHJcbiRjXzk5OTogIzk5OTtcclxuJGNfZWE6ICNlYWVhZWE7XHJcblxyXG4kd2hpdGU6ICNmZmY7XHJcbiRibHVlOiAjMDBhN2UxO1xyXG4kcGluazogI2ZhNDU3MztcclxuJHB1cnBsZTogI2ExODZiZTtcclxuJGRhcmtibHVlOiAjNDI1NThjO1xyXG5cclxuLypmb250Ki9cclxuJGZyZWRva2E6ICdGcmVkb2thIE9uZScsIGN1cnNpdmU7XHJcbiRtb250c2VycmF0OiAnTW9udHNlcnJhdCcsIHNhbnMtc2VyaWY7XHJcbiRsYXRvOiAnTGF0bycsIHNhbnMtc2VyaWY7XHJcbiRyb2JvdG86ICdSb2JvdG8nLCBzYW5zLXNlcmlmOyIsIi8vIEJvdXJib24gNC4yLjdcbi8vIGh0dHA6Ly9ib3VyYm9uLmlvXG4vLyBDb3B5cmlnaHQgMjAxMS0yMDE1IHRob3VnaHRib3QsIGluYy5cbi8vIE1JVCBMaWNlbnNlXG5cbkBpbXBvcnQgXCJzZXR0aW5ncy9wcmVmaXhlclwiO1xuQGltcG9ydCBcInNldHRpbmdzL3B4LXRvLWVtXCI7XG5AaW1wb3J0IFwic2V0dGluZ3MvYXNzZXQtcGlwZWxpbmVcIjtcblxuQGltcG9ydCBcImZ1bmN0aW9ucy9hc3NpZ24taW5wdXRzXCI7XG5AaW1wb3J0IFwiZnVuY3Rpb25zL2NvbnRhaW5zXCI7XG5AaW1wb3J0IFwiZnVuY3Rpb25zL2NvbnRhaW5zLWZhbHN5XCI7XG5AaW1wb3J0IFwiZnVuY3Rpb25zL2lzLWxlbmd0aFwiO1xuQGltcG9ydCBcImZ1bmN0aW9ucy9pcy1saWdodFwiO1xuQGltcG9ydCBcImZ1bmN0aW9ucy9pcy1udW1iZXJcIjtcbkBpbXBvcnQgXCJmdW5jdGlvbnMvaXMtc2l6ZVwiO1xuQGltcG9ydCBcImZ1bmN0aW9ucy9weC10by1lbVwiO1xuQGltcG9ydCBcImZ1bmN0aW9ucy9weC10by1yZW1cIjtcbkBpbXBvcnQgXCJmdW5jdGlvbnMvc2hhZGVcIjtcbkBpbXBvcnQgXCJmdW5jdGlvbnMvc3RyaXAtdW5pdHNcIjtcbkBpbXBvcnQgXCJmdW5jdGlvbnMvdGludFwiO1xuQGltcG9ydCBcImZ1bmN0aW9ucy90cmFuc2l0aW9uLXByb3BlcnR5LW5hbWVcIjtcbkBpbXBvcnQgXCJmdW5jdGlvbnMvdW5wYWNrXCI7XG5AaW1wb3J0IFwiZnVuY3Rpb25zL21vZHVsYXItc2NhbGVcIjtcblxuQGltcG9ydCBcImhlbHBlcnMvY29udmVydC11bml0c1wiO1xuQGltcG9ydCBcImhlbHBlcnMvZGlyZWN0aW9uYWwtdmFsdWVzXCI7XG5AaW1wb3J0IFwiaGVscGVycy9mb250LXNvdXJjZS1kZWNsYXJhdGlvblwiO1xuQGltcG9ydCBcImhlbHBlcnMvZ3JhZGllbnQtcG9zaXRpb25zLXBhcnNlclwiO1xuQGltcG9ydCBcImhlbHBlcnMvbGluZWFyLWFuZ2xlLXBhcnNlclwiO1xuQGltcG9ydCBcImhlbHBlcnMvbGluZWFyLWdyYWRpZW50LXBhcnNlclwiO1xuQGltcG9ydCBcImhlbHBlcnMvbGluZWFyLXBvc2l0aW9ucy1wYXJzZXJcIjtcbkBpbXBvcnQgXCJoZWxwZXJzL2xpbmVhci1zaWRlLWNvcm5lci1wYXJzZXJcIjtcbkBpbXBvcnQgXCJoZWxwZXJzL3JhZGlhbC1hcmctcGFyc2VyXCI7XG5AaW1wb3J0IFwiaGVscGVycy9yYWRpYWwtcG9zaXRpb25zLXBhcnNlclwiO1xuQGltcG9ydCBcImhlbHBlcnMvcmFkaWFsLWdyYWRpZW50LXBhcnNlclwiO1xuQGltcG9ydCBcImhlbHBlcnMvcmVuZGVyLWdyYWRpZW50c1wiO1xuQGltcG9ydCBcImhlbHBlcnMvc2hhcGUtc2l6ZS1zdHJpcHBlclwiO1xuQGltcG9ydCBcImhlbHBlcnMvc3RyLXRvLW51bVwiO1xuXG5AaW1wb3J0IFwiY3NzMy9hbmltYXRpb25cIjtcbkBpbXBvcnQgXCJjc3MzL2FwcGVhcmFuY2VcIjtcbkBpbXBvcnQgXCJjc3MzL2JhY2tmYWNlLXZpc2liaWxpdHlcIjtcbkBpbXBvcnQgXCJjc3MzL2JhY2tncm91bmRcIjtcbkBpbXBvcnQgXCJjc3MzL2JhY2tncm91bmQtaW1hZ2VcIjtcbkBpbXBvcnQgXCJjc3MzL2JvcmRlci1pbWFnZVwiO1xuQGltcG9ydCBcImNzczMvY2FsY1wiO1xuQGltcG9ydCBcImNzczMvY29sdW1uc1wiO1xuQGltcG9ydCBcImNzczMvZmlsdGVyXCI7XG5AaW1wb3J0IFwiY3NzMy9mbGV4LWJveFwiO1xuQGltcG9ydCBcImNzczMvZm9udC1mYWNlXCI7XG5AaW1wb3J0IFwiY3NzMy9mb250LWZlYXR1cmUtc2V0dGluZ3NcIjtcbkBpbXBvcnQgXCJjc3MzL2hpZHBpLW1lZGlhLXF1ZXJ5XCI7XG5AaW1wb3J0IFwiY3NzMy9oeXBoZW5zXCI7XG5AaW1wb3J0IFwiY3NzMy9pbWFnZS1yZW5kZXJpbmdcIjtcbkBpbXBvcnQgXCJjc3MzL2tleWZyYW1lc1wiO1xuQGltcG9ydCBcImNzczMvbGluZWFyLWdyYWRpZW50XCI7XG5AaW1wb3J0IFwiY3NzMy9wZXJzcGVjdGl2ZVwiO1xuQGltcG9ydCBcImNzczMvcGxhY2Vob2xkZXJcIjtcbkBpbXBvcnQgXCJjc3MzL3JhZGlhbC1ncmFkaWVudFwiO1xuQGltcG9ydCBcImNzczMvc2VsZWN0aW9uXCI7XG5AaW1wb3J0IFwiY3NzMy90ZXh0LWRlY29yYXRpb25cIjtcbkBpbXBvcnQgXCJjc3MzL3RyYW5zZm9ybVwiO1xuQGltcG9ydCBcImNzczMvdHJhbnNpdGlvblwiO1xuQGltcG9ydCBcImNzczMvdXNlci1zZWxlY3RcIjtcblxuQGltcG9ydCBcImFkZG9ucy9ib3JkZXItY29sb3JcIjtcbkBpbXBvcnQgXCJhZGRvbnMvYm9yZGVyLXJhZGl1c1wiO1xuQGltcG9ydCBcImFkZG9ucy9ib3JkZXItc3R5bGVcIjtcbkBpbXBvcnQgXCJhZGRvbnMvYm9yZGVyLXdpZHRoXCI7XG5AaW1wb3J0IFwiYWRkb25zL2J1dHRvbnNcIjtcbkBpbXBvcnQgXCJhZGRvbnMvY2xlYXJmaXhcIjtcbkBpbXBvcnQgXCJhZGRvbnMvZWxsaXBzaXNcIjtcbkBpbXBvcnQgXCJhZGRvbnMvZm9udC1zdGFja3NcIjtcbkBpbXBvcnQgXCJhZGRvbnMvaGlkZS10ZXh0XCI7XG5AaW1wb3J0IFwiYWRkb25zL21hcmdpblwiO1xuQGltcG9ydCBcImFkZG9ucy9wYWRkaW5nXCI7XG5AaW1wb3J0IFwiYWRkb25zL3Bvc2l0aW9uXCI7XG5AaW1wb3J0IFwiYWRkb25zL3ByZWZpeGVyXCI7XG5AaW1wb3J0IFwiYWRkb25zL3JldGluYS1pbWFnZVwiO1xuQGltcG9ydCBcImFkZG9ucy9zaXplXCI7XG5AaW1wb3J0IFwiYWRkb25zL3RleHQtaW5wdXRzXCI7XG5AaW1wb3J0IFwiYWRkb25zL3RpbWluZy1mdW5jdGlvbnNcIjtcbkBpbXBvcnQgXCJhZGRvbnMvdHJpYW5nbGVcIjtcbkBpbXBvcnQgXCJhZGRvbnMvd29yZC13cmFwXCI7XG5cbkBpbXBvcnQgXCJib3VyYm9uLWRlcHJlY2F0ZWQtdXBjb21pbmdcIjtcbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8vIEdsb2JhbCB2YXJpYWJsZXMgdG8gZW5hYmxlIG9yIGRpc2FibGUgdmVuZG9yIHByZWZpeGVzXG5cbiRwcmVmaXgtZm9yLXdlYmtpdDogICAgdHJ1ZSAhZGVmYXVsdDtcbiRwcmVmaXgtZm9yLW1vemlsbGE6ICAgdHJ1ZSAhZGVmYXVsdDtcbiRwcmVmaXgtZm9yLW1pY3Jvc29mdDogdHJ1ZSAhZGVmYXVsdDtcbiRwcmVmaXgtZm9yLW9wZXJhOiAgICAgdHJ1ZSAhZGVmYXVsdDtcbiRwcmVmaXgtZm9yLXNwZWM6ICAgICAgdHJ1ZSAhZGVmYXVsdDtcbiIsIiRlbS1iYXNlOiAxNnB4ICFkZWZhdWx0O1xuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4vLy8gQSBnbG9iYWwgc2V0dGluZyB0byBlbmFibGUgb3IgZGlzYWJsZSB0aGUgYCRhc3NldC1waXBlbGluZWAgdmFyaWFibGUgZm9yIGFsbCBmdW5jdGlvbnMgdGhhdCBhY2NlcHQgaXQuXG4vLy9cbi8vLyBAdHlwZSBCb29sXG5cbiRhc3NldC1waXBlbGluZTogZmFsc2UgIWRlZmF1bHQ7XG4iLCJAZnVuY3Rpb24gYXNzaWduLWlucHV0cygkaW5wdXRzLCAkcHNldWRvOiBudWxsKSB7XG4gICRsaXN0OiAoKTtcblxuICBAZWFjaCAkaW5wdXQgaW4gJGlucHV0cyB7XG4gICAgJGlucHV0OiB1bnF1b3RlKCRpbnB1dCk7XG4gICAgJGlucHV0OiBpZigkcHNldWRvLCAkaW5wdXQgKyBcIjpcIiArICRwc2V1ZG8sICRpbnB1dCk7XG4gICAgJGxpc3Q6IGFwcGVuZCgkbGlzdCwgJGlucHV0LCBjb21tYSk7XG4gIH1cblxuICBAcmV0dXJuICRsaXN0O1xufVxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4vLy8gQ2hlY2tzIGlmIGEgbGlzdCBjb250YWlucyBhIHZhbHVlKHMpLlxuLy8vXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge0xpc3R9ICRsaXN0XG4vLy8gICBUaGUgbGlzdCB0byBjaGVjayBhZ2FpbnN0LlxuLy8vXG4vLy8gQHBhcmFtIHtMaXN0fSAkdmFsdWVzXG4vLy8gICBBIHNpbmdsZSB2YWx1ZSBvciBsaXN0IG9mIHZhbHVlcyB0byBjaGVjayBmb3IuXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2Vcbi8vLyAgIGNvbnRhaW5zKCRsaXN0LCAkdmFsdWUpXG4vLy9cbi8vLyBAcmV0dXJuIHtCb29sfVxuXG5AZnVuY3Rpb24gY29udGFpbnMoJGxpc3QsICR2YWx1ZXMuLi4pIHtcbiAgQGVhY2ggJHZhbHVlIGluICR2YWx1ZXMge1xuICAgIEBpZiB0eXBlLW9mKGluZGV4KCRsaXN0LCAkdmFsdWUpKSAhPSBcIm51bWJlclwiIHtcbiAgICAgIEByZXR1cm4gZmFsc2U7XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiB0cnVlO1xufVxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4vLy8gQ2hlY2tzIGlmIGEgbGlzdCBkb2VzIG5vdCBjb250YWlucyBhIHZhbHVlLlxuLy8vXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge0xpc3R9ICRsaXN0XG4vLy8gICBUaGUgbGlzdCB0byBjaGVjayBhZ2FpbnN0LlxuLy8vXG4vLy8gQHJldHVybiB7Qm9vbH1cblxuQGZ1bmN0aW9uIGNvbnRhaW5zLWZhbHN5KCRsaXN0KSB7XG4gIEBlYWNoICRpdGVtIGluICRsaXN0IHtcbiAgICBAaWYgbm90ICRpdGVtIHtcbiAgICAgIEByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gIH1cblxuICBAcmV0dXJuIGZhbHNlO1xufVxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4vLy8gQ2hlY2tzIGZvciBhIHZhbGlkIENTUyBsZW5ndGguXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJHZhbHVlXG5cbkBmdW5jdGlvbiBpcy1sZW5ndGgoJHZhbHVlKSB7XG4gIEByZXR1cm4gdHlwZS1vZigkdmFsdWUpICE9IFwibnVsbFwiIGFuZCAoc3RyLXNsaWNlKCR2YWx1ZSArIFwiXCIsIDEsIDQpID09IFwiY2FsY1wiXG4gICAgICAgb3IgaW5kZXgoYXV0byBpbmhlcml0IGluaXRpYWwgMCwgJHZhbHVlKVxuICAgICAgIG9yICh0eXBlLW9mKCR2YWx1ZSkgPT0gXCJudW1iZXJcIiBhbmQgbm90KHVuaXRsZXNzKCR2YWx1ZSkpKSk7XG59XG4iLCJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vLyBQcm9ncmFtYXRpY2FsbHkgZGV0ZXJtaW5lcyB3aGV0aGVyIGEgY29sb3IgaXMgbGlnaHQgb3IgZGFyay5cbi8vL1xuLy8vIEBsaW5rIGh0dHA6Ly9yb2JvdHMudGhvdWdodGJvdC5jb20vY2xvc2VyLWxvb2stY29sb3ItbGlnaHRuZXNzXG4vLy9cbi8vLyBAcGFyYW0ge0NvbG9yIChIZXgpfSAkY29sb3Jcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxuLy8vICAgaXMtbGlnaHQoJGNvbG9yKVxuLy8vXG4vLy8gQHJldHVybiB7Qm9vbH1cblxuQGZ1bmN0aW9uIGlzLWxpZ2h0KCRoZXgtY29sb3IpIHtcbiAgJC1sb2NhbC1yZWQ6IHJlZChyZ2JhKCRoZXgtY29sb3IsIDEpKTtcbiAgJC1sb2NhbC1ncmVlbjogZ3JlZW4ocmdiYSgkaGV4LWNvbG9yLCAxKSk7XG4gICQtbG9jYWwtYmx1ZTogYmx1ZShyZ2JhKCRoZXgtY29sb3IsIDEpKTtcbiAgJC1sb2NhbC1saWdodG5lc3M6ICgkLWxvY2FsLXJlZCAqIDAuMjEyNiArICQtbG9jYWwtZ3JlZW4gKiAwLjcxNTIgKyAkLWxvY2FsLWJsdWUgKiAwLjA3MjIpIC8gMjU1O1xuXG4gIEByZXR1cm4gJC1sb2NhbC1saWdodG5lc3MgPiAwLjY7XG59XG4iLCJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vLyBDaGVja3MgZm9yIGEgdmFsaWQgbnVtYmVyLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR2YWx1ZVxuLy8vXG4vLy8gQHJlcXVpcmUge2Z1bmN0aW9ufSBjb250YWluc1xuXG5AZnVuY3Rpb24gaXMtbnVtYmVyKCR2YWx1ZSkge1xuICBAcmV0dXJuIGNvbnRhaW5zKFwiMFwiIFwiMVwiIFwiMlwiIFwiM1wiIFwiNFwiIFwiNVwiIFwiNlwiIFwiN1wiIFwiOFwiIFwiOVwiIDAgMSAyIDMgNCA1IDYgNyA4IDksICR2YWx1ZSk7XG59XG4iLCJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vLyBDaGVja3MgZm9yIGEgdmFsaWQgQ1NTIHNpemUuXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJHZhbHVlXG4vLy9cbi8vLyBAcmVxdWlyZSB7ZnVuY3Rpb259IGNvbnRhaW5zXG4vLy8gQHJlcXVpcmUge2Z1bmN0aW9ufSBpcy1sZW5ndGhcblxuQGZ1bmN0aW9uIGlzLXNpemUoJHZhbHVlKSB7XG4gIEByZXR1cm4gaXMtbGVuZ3RoKCR2YWx1ZSlcbiAgICAgICAgICBvciBjb250YWlucyhcImZpbGxcIiBcImZpdC1jb250ZW50XCIgXCJtaW4tY29udGVudFwiIFwibWF4LWNvbnRlbnRcIiwgJHZhbHVlKTtcbn1cbiIsIi8vIENvbnZlcnQgcGl4ZWxzIHRvIGVtc1xuLy8gZWcuIGZvciBhIHJlbGF0aW9uYWwgdmFsdWUgb2YgMTJweCB3cml0ZSBlbSgxMikgd2hlbiB0aGUgcGFyZW50IGlzIDE2cHhcbi8vIGlmIHRoZSBwYXJlbnQgaXMgYW5vdGhlciB2YWx1ZSBzYXkgMjRweCB3cml0ZSBlbSgxMiwgMjQpXG5cbkBmdW5jdGlvbiBlbSgkcHh2YWwsICRiYXNlOiAkZW0tYmFzZSkge1xuICBAaWYgbm90IHVuaXRsZXNzKCRweHZhbCkge1xuICAgICRweHZhbDogc3RyaXAtdW5pdHMoJHB4dmFsKTtcbiAgfVxuICBAaWYgbm90IHVuaXRsZXNzKCRiYXNlKSB7XG4gICAgJGJhc2U6IHN0cmlwLXVuaXRzKCRiYXNlKTtcbiAgfVxuICBAcmV0dXJuICgkcHh2YWwgLyAkYmFzZSkgKiAxZW07XG59XG4iLCIvLyBDb252ZXJ0IHBpeGVscyB0byByZW1zXG4vLyBlZy4gZm9yIGEgcmVsYXRpb25hbCB2YWx1ZSBvZiAxMnB4IHdyaXRlIHJlbSgxMilcbi8vIEFzc3VtZXMgJGVtLWJhc2UgaXMgdGhlIGZvbnQtc2l6ZSBvZiA8aHRtbD5cblxuQGZ1bmN0aW9uIHJlbSgkcHh2YWwpIHtcbiAgQGlmIG5vdCB1bml0bGVzcygkcHh2YWwpIHtcbiAgICAkcHh2YWw6IHN0cmlwLXVuaXRzKCRweHZhbCk7XG4gIH1cblxuICAkYmFzZTogJGVtLWJhc2U7XG4gIEBpZiBub3QgdW5pdGxlc3MoJGJhc2UpIHtcbiAgICAkYmFzZTogc3RyaXAtdW5pdHMoJGJhc2UpO1xuICB9XG4gIEByZXR1cm4gKCRweHZhbCAvICRiYXNlKSAqIDFyZW07XG59XG4iLCJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vLyBNaXhlcyBhIGNvbG9yIHdpdGggYmxhY2suXG4vLy9cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3Jcbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyIChQZXJjZW50YWdlKX0gJHBlcmNlbnRcbi8vLyAgIFRoZSBhbW91bnQgb2YgYmxhY2sgdG8gYmUgbWl4ZWQgaW4uXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2Vcbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgYmFja2dyb3VuZC1jb2xvcjogc2hhZGUoI2ZmYmI1MiwgNjAlKTtcbi8vLyAgIH1cbi8vL1xuLy8vIEBleGFtcGxlIGNzcyAtIENTUyBPdXRwdXRcbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgYmFja2dyb3VuZC1jb2xvcjogIzY2NGEyMDtcbi8vLyAgIH1cbi8vL1xuLy8vIEByZXR1cm4ge0NvbG9yfVxuXG5AZnVuY3Rpb24gc2hhZGUoJGNvbG9yLCAkcGVyY2VudCkge1xuICBAcmV0dXJuIG1peCgjMDAwLCAkY29sb3IsICRwZXJjZW50KTtcbn1cbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8vIFN0cmlwcyB0aGUgdW5pdCBmcm9tIGEgbnVtYmVyLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXIgKFdpdGggVW5pdCl9ICR2YWx1ZVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXG4vLy8gICAkZGltZW5zaW9uOiBzdHJpcC11bml0cygxMGVtKTtcbi8vL1xuLy8vIEBleGFtcGxlIGNzcyAtIENTUyBPdXRwdXRcbi8vLyAgICRkaW1lbnNpb246IDEwO1xuLy8vXG4vLy8gQHJldHVybiB7TnVtYmVyIChVbml0bGVzcyl9XG5cbkBmdW5jdGlvbiBzdHJpcC11bml0cygkdmFsdWUpIHtcbiAgQHJldHVybiAoJHZhbHVlIC8gKCR2YWx1ZSAqIDAgKyAxKSk7XG59XG4iLCJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vLyBNaXhlcyBhIGNvbG9yIHdpdGggd2hpdGUuXG4vLy9cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3Jcbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyIChQZXJjZW50YWdlKX0gJHBlcmNlbnRcbi8vLyAgIFRoZSBhbW91bnQgb2Ygd2hpdGUgdG8gYmUgbWl4ZWQgaW4uXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2Vcbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgYmFja2dyb3VuZC1jb2xvcjogdGludCgjNmVjYWE2LCA0MCUpO1xuLy8vICAgfVxuLy8vXG4vLy8gQGV4YW1wbGUgY3NzIC0gQ1NTIE91dHB1dFxuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYThkZmM5O1xuLy8vICAgfVxuLy8vXG4vLy8gQHJldHVybiB7Q29sb3J9XG5cbkBmdW5jdGlvbiB0aW50KCRjb2xvciwgJHBlcmNlbnQpIHtcbiAgQHJldHVybiBtaXgoI2ZmZiwgJGNvbG9yLCAkcGVyY2VudCk7XG59XG4iLCIvLyBSZXR1cm4gdmVuZG9yLXByZWZpeGVkIHByb3BlcnR5IG5hbWVzIGlmIGFwcHJvcHJpYXRlXG4vLyBFeGFtcGxlOiB0cmFuc2l0aW9uLXByb3BlcnR5LW5hbWVzKCh0cmFuc2Zvcm0sIGNvbG9yLCBiYWNrZ3JvdW5kKSwgbW96KSAtPiAtbW96LXRyYW5zZm9ybSwgY29sb3IsIGJhY2tncm91bmRcbi8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLy9cbkBmdW5jdGlvbiB0cmFuc2l0aW9uLXByb3BlcnR5LW5hbWVzKCRwcm9wcywgJHZlbmRvcjogZmFsc2UpIHtcbiAgJG5ldy1wcm9wczogKCk7XG5cbiAgQGVhY2ggJHByb3AgaW4gJHByb3BzIHtcbiAgICAkbmV3LXByb3BzOiBhcHBlbmQoJG5ldy1wcm9wcywgdHJhbnNpdGlvbi1wcm9wZXJ0eS1uYW1lKCRwcm9wLCAkdmVuZG9yKSwgY29tbWEpO1xuICB9XG5cbiAgQHJldHVybiAkbmV3LXByb3BzO1xufVxuXG5AZnVuY3Rpb24gdHJhbnNpdGlvbi1wcm9wZXJ0eS1uYW1lKCRwcm9wLCAkdmVuZG9yOiBmYWxzZSkge1xuICAvLyBwdXQgb3RoZXIgcHJvcGVydGllcyB0aGF0IG5lZWQgdG8gYmUgcHJlZml4ZWQgaGVyZSBhc3dlbGxcbiAgQGlmICR2ZW5kb3IgYW5kICRwcm9wID09IHRyYW5zZm9ybSB7XG4gICAgQHJldHVybiB1bnF1b3RlKCctJyskdmVuZG9yKyctJyskcHJvcCk7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEByZXR1cm4gJHByb3A7XG4gIH1cbn1cbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8vIENvbnZlcnRzIHNob3J0aGFuZCB0byB0aGUgNC12YWx1ZSBzeW50YXguXG4vLy9cbi8vLyBAcGFyYW0ge0xpc3R9ICRzaG9ydGhhbmRcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBtYXJnaW46IHVucGFjaygxZW0gMmVtKTtcbi8vLyAgIH1cbi8vL1xuLy8vIEBleGFtcGxlIGNzcyAtIENTUyBPdXRwdXRcbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgbWFyZ2luOiAxZW0gMmVtIDFlbSAyZW07XG4vLy8gICB9XG5cbkBmdW5jdGlvbiB1bnBhY2soJHNob3J0aGFuZCkge1xuICBAaWYgbGVuZ3RoKCRzaG9ydGhhbmQpID09IDEge1xuICAgIEByZXR1cm4gbnRoKCRzaG9ydGhhbmQsIDEpIG50aCgkc2hvcnRoYW5kLCAxKSBudGgoJHNob3J0aGFuZCwgMSkgbnRoKCRzaG9ydGhhbmQsIDEpO1xuICB9IEBlbHNlIGlmIGxlbmd0aCgkc2hvcnRoYW5kKSA9PSAyIHtcbiAgICBAcmV0dXJuIG50aCgkc2hvcnRoYW5kLCAxKSBudGgoJHNob3J0aGFuZCwgMikgbnRoKCRzaG9ydGhhbmQsIDEpIG50aCgkc2hvcnRoYW5kLCAyKTtcbiAgfSBAZWxzZSBpZiBsZW5ndGgoJHNob3J0aGFuZCkgPT0gMyB7XG4gICAgQHJldHVybiBudGgoJHNob3J0aGFuZCwgMSkgbnRoKCRzaG9ydGhhbmQsIDIpIG50aCgkc2hvcnRoYW5kLCAzKSBudGgoJHNob3J0aGFuZCwgMik7XG4gIH0gQGVsc2Uge1xuICAgIEByZXR1cm4gJHNob3J0aGFuZDtcbiAgfVxufVxuIiwiLy8gU2NhbGluZyBWYXJpYWJsZXNcbiRnb2xkZW46ICAgICAgICAgICAxLjYxODtcbiRtaW5vci1zZWNvbmQ6ICAgICAxLjA2NztcbiRtYWpvci1zZWNvbmQ6ICAgICAxLjEyNTtcbiRtaW5vci10aGlyZDogICAgICAxLjI7XG4kbWFqb3ItdGhpcmQ6ICAgICAgMS4yNTtcbiRwZXJmZWN0LWZvdXJ0aDogICAxLjMzMztcbiRhdWdtZW50ZWQtZm91cnRoOiAxLjQxNDtcbiRwZXJmZWN0LWZpZnRoOiAgICAxLjU7XG4kbWlub3Itc2l4dGg6ICAgICAgMS42O1xuJG1ham9yLXNpeHRoOiAgICAgIDEuNjY3O1xuJG1pbm9yLXNldmVudGg6ICAgIDEuNzc4O1xuJG1ham9yLXNldmVudGg6ICAgIDEuODc1O1xuJG9jdGF2ZTogICAgICAgICAgIDI7XG4kbWFqb3ItdGVudGg6ICAgICAgMi41O1xuJG1ham9yLWVsZXZlbnRoOiAgIDIuNjY3O1xuJG1ham9yLXR3ZWxmdGg6ICAgIDM7XG4kZG91YmxlLW9jdGF2ZTogICAgNDtcblxuJG1vZHVsYXItc2NhbGUtcmF0aW86ICRwZXJmZWN0LWZvdXJ0aCAhZGVmYXVsdDtcbiRtb2R1bGFyLXNjYWxlLWJhc2U6IGVtKCRlbS1iYXNlKSAhZGVmYXVsdDtcblxuQGZ1bmN0aW9uIG1vZHVsYXItc2NhbGUoJGluY3JlbWVudCwgJHZhbHVlOiAkbW9kdWxhci1zY2FsZS1iYXNlLCAkcmF0aW86ICRtb2R1bGFyLXNjYWxlLXJhdGlvKSB7XG4gICR2MTogbnRoKCR2YWx1ZSwgMSk7XG4gICR2MjogbnRoKCR2YWx1ZSwgbGVuZ3RoKCR2YWx1ZSkpO1xuICAkdmFsdWU6ICR2MTtcblxuICAvLyBzY2FsZSAkdjIgdG8ganVzdCBhYm92ZSAkdjFcbiAgQHdoaWxlICR2MiA+ICR2MSB7XG4gICAgJHYyOiAoJHYyIC8gJHJhdGlvKTsgLy8gd2lsbCBiZSBvZmYtYnktMVxuICB9XG4gIEB3aGlsZSAkdjIgPCAkdjEge1xuICAgICR2MjogKCR2MiAqICRyYXRpbyk7IC8vIHdpbGwgZml4IG9mZi1ieS0xXG4gIH1cblxuICAvLyBjaGVjayBBRlRFUiBzY2FsaW5nICR2MiB0byBwcmV2ZW50IGRvdWJsZS1jb3VudGluZyBjb3JuZXItY2FzZVxuICAkZG91YmxlLXN0cmFuZGVkOiAkdjIgPiAkdjE7XG5cbiAgQGlmICRpbmNyZW1lbnQgPiAwIHtcbiAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRpbmNyZW1lbnQge1xuICAgICAgQGlmICRkb3VibGUtc3RyYW5kZWQgYW5kICgkdjEgKiAkcmF0aW8pID4gJHYyIHtcbiAgICAgICAgJHZhbHVlOiAkdjI7XG4gICAgICAgICR2MjogKCR2MiAqICRyYXRpbyk7XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgJHYxOiAoJHYxICogJHJhdGlvKTtcbiAgICAgICAgJHZhbHVlOiAkdjE7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGlmICRpbmNyZW1lbnQgPCAwIHtcbiAgICAvLyBhZGp1c3QgJHYyIHRvIGp1c3QgYmVsb3cgJHYxXG4gICAgQGlmICRkb3VibGUtc3RyYW5kZWQge1xuICAgICAgJHYyOiAoJHYyIC8gJHJhdGlvKTtcbiAgICB9XG5cbiAgICBAZm9yICRpIGZyb20gJGluY3JlbWVudCB0aHJvdWdoIC0xIHtcbiAgICAgIEBpZiAkZG91YmxlLXN0cmFuZGVkIGFuZCAoJHYxIC8gJHJhdGlvKSA8ICR2MiB7XG4gICAgICAgICR2YWx1ZTogJHYyO1xuICAgICAgICAkdjI6ICgkdjIgLyAkcmF0aW8pO1xuICAgICAgfSBAZWxzZSB7XG4gICAgICAgICR2MTogKCR2MSAvICRyYXRpbyk7XG4gICAgICAgICR2YWx1ZTogJHYxO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gJHZhbHVlO1xufVxuIiwiLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovL1xuLy8gSGVscGVyIGZ1bmN0aW9uIGZvciBzdHItdG8tbnVtIGZuLlxuLy8gU291cmNlOiBodHRwOi8vc2Fzc21laXN0ZXIuY29tL2dpc3QvOTY0NzQwOFxuLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovL1xuQGZ1bmN0aW9uIF9jb252ZXJ0LXVuaXRzKCRudW1iZXIsICR1bml0KSB7XG4gICRzdHJpbmdzOiBcInB4XCIsIFwiY21cIiwgXCJtbVwiLCBcIiVcIiwgXCJjaFwiLCBcInBpY2FcIiwgXCJpblwiLCBcImVtXCIsIFwicmVtXCIsIFwicHRcIiwgXCJwY1wiLCBcImV4XCIsIFwidndcIiwgXCJ2aFwiLCBcInZtaW5cIiwgXCJ2bWF4XCIsIFwiZGVnXCIsIFwicmFkXCIsIFwiZ3JhZFwiLCBcInR1cm5cIjtcbiAgJHVuaXRzOiAgIDFweCwgMWNtLCAxbW0sIDElLCAxY2gsIDFwaWNhLCAxaW4sIDFlbSwgMXJlbSwgMXB0LCAxcGMsIDFleCwgMXZ3LCAxdmgsIDF2bWluLCAxdm1heCwgMWRlZywgMXJhZCwgMWdyYWQsIDF0dXJuO1xuICAkaW5kZXg6IGluZGV4KCRzdHJpbmdzLCAkdW5pdCk7XG5cbiAgQGlmIG5vdCAkaW5kZXgge1xuICAgIEB3YXJuIFwiVW5rbm93biB1bml0IGAjeyR1bml0fWAuXCI7XG4gICAgQHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIEBpZiB0eXBlLW9mKCRudW1iZXIpICE9IFwibnVtYmVyXCIge1xuICAgIEB3YXJuIFwiYCN7JG51bWJlcn0gaXMgbm90IGEgbnVtYmVyYFwiO1xuICAgIEByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBAcmV0dXJuICRudW1iZXIgKiBudGgoJHVuaXRzLCAkaW5kZXgpO1xufVxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4vLy8gRGlyZWN0aW9uYWwtcHJvcGVydHkgbWl4aW5zIGFyZSBzaG9ydGhhbmRzIGZvciB3cml0aW5nIHByb3BlcnRpZXMgbGlrZSB0aGUgZm9sbG93aW5nXG4vLy9cbi8vLyBAaWdub3JlIFlvdSBjYW4gYWxzbyB1c2UgYGZhbHNlYCBpbnN0ZWFkIG9mIGBudWxsYC5cbi8vL1xuLy8vIEBwYXJhbSB7TGlzdH0gJHZhbHNcbi8vLyAgIExpc3Qgb2YgZGlyZWN0aW9uYWwgdmFsdWVzXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2Vcbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgQGluY2x1ZGUgYm9yZGVyLXN0eWxlKGRvdHRlZCBudWxsKTtcbi8vLyAgICAgQGluY2x1ZGUgbWFyZ2luKG51bGwgMCAxMHB4KTtcbi8vLyAgIH1cbi8vL1xuLy8vIEBleGFtcGxlIGNzcyAtIENTUyBPdXRwdXRcbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgYm9yZGVyLWJvdHRvbS1zdHlsZTogZG90dGVkO1xuLy8vICAgICBib3JkZXItdG9wLXN0eWxlOiBkb3R0ZWQ7XG4vLy8gICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4vLy8gICAgIG1hcmdpbi1sZWZ0OiAwO1xuLy8vICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4vLy8gICB9XG4vLy9cbi8vLyBAcmVxdWlyZSB7ZnVuY3Rpb259IGNvbnRhaW5zLWZhbHN5XG4vLy9cbi8vLyBAcmV0dXJuIHtMaXN0fVxuXG5AZnVuY3Rpb24gY29sbGFwc2UtZGlyZWN0aW9uYWxzKCR2YWxzKSB7XG4gICRvdXRwdXQ6IG51bGw7XG5cbiAgJGE6IG50aCgkdmFscywgMSk7XG4gICRiOiBpZihsZW5ndGgoJHZhbHMpIDwgMiwgJGEsIG50aCgkdmFscywgMikpO1xuICAkYzogaWYobGVuZ3RoKCR2YWxzKSA8IDMsICRhLCBudGgoJHZhbHMsIDMpKTtcbiAgJGQ6IGlmKGxlbmd0aCgkdmFscykgPCAyLCAkYSwgbnRoKCR2YWxzLCBpZihsZW5ndGgoJHZhbHMpIDwgNCwgMiwgNCkpKTtcblxuICBAaWYgJGEgPT0gMCB7ICRhOiAwOyB9XG4gIEBpZiAkYiA9PSAwIHsgJGI6IDA7IH1cbiAgQGlmICRjID09IDAgeyAkYzogMDsgfVxuICBAaWYgJGQgPT0gMCB7ICRkOiAwOyB9XG5cbiAgQGlmICRhID09ICRiIGFuZCAkYSA9PSAkYyBhbmQgJGEgPT0gJGQgeyAkb3V0cHV0OiAkYTsgICAgICAgICAgfVxuICBAZWxzZSBpZiAkYSA9PSAkYyBhbmQgJGIgPT0gJGQgICAgICAgICB7ICRvdXRwdXQ6ICRhICRiOyAgICAgICB9XG4gIEBlbHNlIGlmICRiID09ICRkICAgICAgICAgICAgICAgICAgICAgIHsgJG91dHB1dDogJGEgJGIgJGM7ICAgIH1cbiAgQGVsc2UgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeyAkb3V0cHV0OiAkYSAkYiAkYyAkZDsgfVxuXG4gIEByZXR1cm4gJG91dHB1dDtcbn1cblxuLy8vIE91dHB1dCBkaXJlY3Rpb25hbCBwcm9wZXJ0aWVzLCBmb3IgaW5zdGFuY2UgYG1hcmdpbmAuXG4vLy9cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkcHJlXG4vLy8gICBQcmVmaXggdG8gdXNlXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRzdWZcbi8vLyAgIFN1ZmZpeCB0byB1c2Vcbi8vLyBAcGFyYW0ge0xpc3R9ICR2YWxzXG4vLy8gICBMaXN0IG9mIHZhbHVlc1xuLy8vXG4vLy8gQHJlcXVpcmUge2Z1bmN0aW9ufSBjb2xsYXBzZS1kaXJlY3Rpb25hbHNcbi8vLyBAcmVxdWlyZSB7ZnVuY3Rpb259IGNvbnRhaW5zLWZhbHN5XG5cbkBtaXhpbiBkaXJlY3Rpb25hbC1wcm9wZXJ0eSgkcHJlLCAkc3VmLCAkdmFscykge1xuICAvLyBQcm9wZXJ0eSBOYW1lc1xuICAkdG9wOiAgICAkcHJlICsgXCItdG9wXCIgICAgKyBpZigkc3VmLCBcIi0jeyRzdWZ9XCIsIFwiXCIpO1xuICAkYm90dG9tOiAkcHJlICsgXCItYm90dG9tXCIgKyBpZigkc3VmLCBcIi0jeyRzdWZ9XCIsIFwiXCIpO1xuICAkbGVmdDogICAkcHJlICsgXCItbGVmdFwiICAgKyBpZigkc3VmLCBcIi0jeyRzdWZ9XCIsIFwiXCIpO1xuICAkcmlnaHQ6ICAkcHJlICsgXCItcmlnaHRcIiAgKyBpZigkc3VmLCBcIi0jeyRzdWZ9XCIsIFwiXCIpO1xuICAkYWxsOiAgICAkcHJlICsgICAgICAgICAgICAgaWYoJHN1ZiwgXCItI3skc3VmfVwiLCBcIlwiKTtcblxuICAkdmFsczogY29sbGFwc2UtZGlyZWN0aW9uYWxzKCR2YWxzKTtcblxuICBAaWYgY29udGFpbnMtZmFsc3koJHZhbHMpIHtcbiAgICBAaWYgbnRoKCR2YWxzLCAxKSB7ICN7JHRvcH06IG50aCgkdmFscywgMSk7IH1cblxuICAgIEBpZiBsZW5ndGgoJHZhbHMpID09IDEge1xuICAgICAgQGlmIG50aCgkdmFscywgMSkgeyAjeyRyaWdodH06IG50aCgkdmFscywgMSk7IH1cbiAgICB9IEBlbHNlIHtcbiAgICAgIEBpZiBudGgoJHZhbHMsIDIpIHsgI3skcmlnaHR9OiBudGgoJHZhbHMsIDIpOyB9XG4gICAgfVxuXG4gICAgQGlmIGxlbmd0aCgkdmFscykgPT0gMiB7XG4gICAgICBAaWYgbnRoKCR2YWxzLCAxKSB7ICN7JGJvdHRvbX06IG50aCgkdmFscywgMSk7IH1cbiAgICAgIEBpZiBudGgoJHZhbHMsIDIpIHsgI3skbGVmdH06ICAgbnRoKCR2YWxzLCAyKTsgfVxuICAgIH0gQGVsc2UgaWYgbGVuZ3RoKCR2YWxzKSA9PSAzIHtcbiAgICAgIEBpZiBudGgoJHZhbHMsIDMpIHsgI3skYm90dG9tfTogbnRoKCR2YWxzLCAzKTsgfVxuICAgICAgQGlmIG50aCgkdmFscywgMikgeyAjeyRsZWZ0fTogICBudGgoJHZhbHMsIDIpOyB9XG4gICAgfSBAZWxzZSBpZiBsZW5ndGgoJHZhbHMpID09IDQge1xuICAgICAgQGlmIG50aCgkdmFscywgMykgeyAjeyRib3R0b219OiBudGgoJHZhbHMsIDMpOyB9XG4gICAgICBAaWYgbnRoKCR2YWxzLCA0KSB7ICN7JGxlZnR9OiAgIG50aCgkdmFscywgNCk7IH1cbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgICN7JGFsbH06ICR2YWxzO1xuICB9XG59XG4iLCIvLyBVc2VkIGZvciBjcmVhdGluZyB0aGUgc291cmNlIHN0cmluZyBmb3IgZm9udHMgdXNpbmcgQGZvbnQtZmFjZVxuLy8gUmVmZXJlbmNlOiBodHRwOi8vZ29vLmdsL1J1MWJLUFxuXG5AZnVuY3Rpb24gZm9udC11cmwtcHJlZml4ZXIoJGFzc2V0LXBpcGVsaW5lKSB7XG4gIEBpZiAkYXNzZXQtcGlwZWxpbmUgPT0gdHJ1ZSB7XG4gICAgQHJldHVybiBmb250LXVybDtcbiAgfSBAZWxzZSB7XG4gICAgQHJldHVybiB1cmw7XG4gIH1cbn1cblxuQGZ1bmN0aW9uIGZvbnQtc291cmNlLWRlY2xhcmF0aW9uKFxuICAkZm9udC1mYW1pbHksXG4gICRmaWxlLXBhdGgsXG4gICRhc3NldC1waXBlbGluZSxcbiAgJGZpbGUtZm9ybWF0cyxcbiAgJGZvbnQtdXJsKSB7XG5cbiAgJHNyYzogKCk7XG5cbiAgJGZvcm1hdHMtbWFwOiAoXG4gICAgZW90OiAgIFwiI3skZmlsZS1wYXRofS5lb3Q/I2llZml4XCIgZm9ybWF0KFwiZW1iZWRkZWQtb3BlbnR5cGVcIiksXG4gICAgd29mZjI6IFwiI3skZmlsZS1wYXRofS53b2ZmMlwiIGZvcm1hdChcIndvZmYyXCIpLFxuICAgIHdvZmY6ICBcIiN7JGZpbGUtcGF0aH0ud29mZlwiIGZvcm1hdChcIndvZmZcIiksXG4gICAgdHRmOiAgIFwiI3skZmlsZS1wYXRofS50dGZcIiBmb3JtYXQoXCJ0cnVldHlwZVwiKSxcbiAgICBzdmc6ICAgXCIjeyRmaWxlLXBhdGh9LnN2ZyMjeyRmb250LWZhbWlseX1cIiBmb3JtYXQoXCJzdmdcIilcbiAgKTtcblxuICBAZWFjaCAka2V5LCAkdmFsdWVzIGluICRmb3JtYXRzLW1hcCB7XG4gICAgQGlmIGNvbnRhaW5zKCRmaWxlLWZvcm1hdHMsICRrZXkpIHtcbiAgICAgICRmaWxlLXBhdGg6IG50aCgkdmFsdWVzLCAxKTtcbiAgICAgICRmb250LWZvcm1hdDogbnRoKCR2YWx1ZXMsIDIpO1xuXG4gICAgICBAaWYgJGFzc2V0LXBpcGVsaW5lID09IHRydWUge1xuICAgICAgICAkc3JjOiBhcHBlbmQoJHNyYywgZm9udC11cmwoJGZpbGUtcGF0aCkgJGZvbnQtZm9ybWF0LCBjb21tYSk7XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgJHNyYzogYXBwZW5kKCRzcmMsIHVybCgkZmlsZS1wYXRoKSAkZm9udC1mb3JtYXQsIGNvbW1hKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAcmV0dXJuICRzcmM7XG59XG4iLCJAZnVuY3Rpb24gX2dyYWRpZW50LXBvc2l0aW9ucy1wYXJzZXIoJGdyYWRpZW50LXR5cGUsICRncmFkaWVudC1wb3NpdGlvbnMpIHtcbiAgQGlmICRncmFkaWVudC1wb3NpdGlvbnNcbiAgYW5kICgkZ3JhZGllbnQtdHlwZSA9PSBsaW5lYXIpXG4gIGFuZCAodHlwZS1vZigkZ3JhZGllbnQtcG9zaXRpb25zKSAhPSBjb2xvcikge1xuICAgICRncmFkaWVudC1wb3NpdGlvbnM6IF9saW5lYXItcG9zaXRpb25zLXBhcnNlcigkZ3JhZGllbnQtcG9zaXRpb25zKTtcbiAgfVxuICBAZWxzZSBpZiAkZ3JhZGllbnQtcG9zaXRpb25zXG4gIGFuZCAoJGdyYWRpZW50LXR5cGUgPT0gcmFkaWFsKVxuICBhbmQgKHR5cGUtb2YoJGdyYWRpZW50LXBvc2l0aW9ucykgIT0gY29sb3IpIHtcbiAgICAkZ3JhZGllbnQtcG9zaXRpb25zOiBfcmFkaWFsLXBvc2l0aW9ucy1wYXJzZXIoJGdyYWRpZW50LXBvc2l0aW9ucyk7XG4gIH1cbiAgQHJldHVybiAkZ3JhZGllbnQtcG9zaXRpb25zO1xufVxuIiwiLy8gUHJpdmF0ZSBmdW5jdGlvbiBmb3IgbGluZWFyLWdyYWRpZW50LXBhcnNlclxuQGZ1bmN0aW9uIF9saW5lYXItYW5nbGUtcGFyc2VyKCRpbWFnZSwgJGZpcnN0LXZhbCwgJHByZWZpeCwgJHN1ZmZpeCkge1xuICAkb2Zmc2V0OiBudWxsO1xuICAkdW5pdC1zaG9ydDogIHN0ci1zbGljZSgkZmlyc3QtdmFsLCBzdHItbGVuZ3RoKCRmaXJzdC12YWwpIC0gMiwgc3RyLWxlbmd0aCgkZmlyc3QtdmFsKSk7XG4gICR1bml0LWxvbmc6ICAgc3RyLXNsaWNlKCRmaXJzdC12YWwsIHN0ci1sZW5ndGgoJGZpcnN0LXZhbCkgLSAzLCBzdHItbGVuZ3RoKCRmaXJzdC12YWwpKTtcblxuICBAaWYgKCR1bml0LWxvbmcgPT0gXCJncmFkXCIpIG9yXG4gICAgICAoJHVuaXQtbG9uZyA9PSBcInR1cm5cIikge1xuICAgICRvZmZzZXQ6IGlmKCR1bml0LWxvbmcgPT0gXCJncmFkXCIsIC0xMDBncmFkICogMywgLTAuNzV0dXJuKTtcbiAgfVxuXG4gIEBlbHNlIGlmICgkdW5pdC1zaG9ydCA9PSBcImRlZ1wiKSBvclxuICAgICAgICAgICAoJHVuaXQtc2hvcnQgPT0gXCJyYWRcIikge1xuICAgICRvZmZzZXQ6IGlmKCR1bml0LXNob3J0ID09IFwiZGVnXCIsIC05MCAqIDMsIDEuNnJhZCk7XG4gIH1cblxuICBAaWYgJG9mZnNldCB7XG4gICAgJG51bTogX3N0ci10by1udW0oJGZpcnN0LXZhbCk7XG5cbiAgICBAcmV0dXJuIChcbiAgICAgIHdlYmtpdC1pbWFnZTogLXdlYmtpdC0gKyAkcHJlZml4ICsgKCRvZmZzZXQgLSAkbnVtKSArICRzdWZmaXgsXG4gICAgICBzcGVjLWltYWdlOiAkaW1hZ2VcbiAgICApO1xuICB9XG59XG4iLCJAZnVuY3Rpb24gX2xpbmVhci1ncmFkaWVudC1wYXJzZXIoJGltYWdlKSB7XG4gICRpbWFnZTogdW5xdW90ZSgkaW1hZ2UpO1xuICAkZ3JhZGllbnRzOiAoKTtcbiAgJHN0YXJ0OiBzdHItaW5kZXgoJGltYWdlLCBcIihcIik7XG4gICRlbmQ6IHN0ci1pbmRleCgkaW1hZ2UsIFwiLFwiKTtcbiAgJGZpcnN0LXZhbDogc3RyLXNsaWNlKCRpbWFnZSwgJHN0YXJ0ICsgMSwgJGVuZCAtIDEpO1xuXG4gICRwcmVmaXg6IHN0ci1zbGljZSgkaW1hZ2UsIDEsICRzdGFydCk7XG4gICRzdWZmaXg6IHN0ci1zbGljZSgkaW1hZ2UsICRlbmQsIHN0ci1sZW5ndGgoJGltYWdlKSk7XG5cbiAgJGhhcy1tdWx0aXBsZS12YWxzOiBzdHItaW5kZXgoJGZpcnN0LXZhbCwgXCIgXCIpO1xuICAkaGFzLXNpbmdsZS1wb3NpdGlvbjogdW5xdW90ZShfcG9zaXRpb24tZmxpcHBlcigkZmlyc3QtdmFsKSArIFwiXCIpO1xuICAkaGFzLWFuZ2xlOiBpcy1udW1iZXIoc3RyLXNsaWNlKCRmaXJzdC12YWwsIDEsIDEpKTtcblxuICBAaWYgJGhhcy1tdWx0aXBsZS12YWxzIHtcbiAgICAkZ3JhZGllbnRzOiBfbGluZWFyLXNpZGUtY29ybmVyLXBhcnNlcigkaW1hZ2UsICRmaXJzdC12YWwsICRwcmVmaXgsICRzdWZmaXgsICRoYXMtbXVsdGlwbGUtdmFscyk7XG4gIH1cblxuICBAZWxzZSBpZiAkaGFzLXNpbmdsZS1wb3NpdGlvbiAhPSBcIlwiIHtcbiAgICAkcG9zOiB1bnF1b3RlKCRoYXMtc2luZ2xlLXBvc2l0aW9uICsgXCJcIik7XG5cbiAgICAkZ3JhZGllbnRzOiAoXG4gICAgICB3ZWJraXQtaW1hZ2U6IC13ZWJraXQtICsgJGltYWdlLFxuICAgICAgc3BlYy1pbWFnZTogJHByZWZpeCArIFwidG8gXCIgKyAkcG9zICsgJHN1ZmZpeFxuICAgICk7XG4gIH1cblxuICBAZWxzZSBpZiAkaGFzLWFuZ2xlIHtcbiAgICAvLyBSb3RhdGUgZGVncmVlIGZvciB3ZWJraXRcbiAgICAkZ3JhZGllbnRzOiBfbGluZWFyLWFuZ2xlLXBhcnNlcigkaW1hZ2UsICRmaXJzdC12YWwsICRwcmVmaXgsICRzdWZmaXgpO1xuICB9XG5cbiAgQGVsc2Uge1xuICAgICRncmFkaWVudHM6IChcbiAgICAgIHdlYmtpdC1pbWFnZTogLXdlYmtpdC0gKyAkaW1hZ2UsXG4gICAgICBzcGVjLWltYWdlOiAkaW1hZ2VcbiAgICApO1xuICB9XG5cbiAgQHJldHVybiAkZ3JhZGllbnRzO1xufVxuIiwiQGZ1bmN0aW9uIF9saW5lYXItcG9zaXRpb25zLXBhcnNlcigkcG9zKSB7XG4gICR0eXBlOiB0eXBlLW9mKG50aCgkcG9zLCAxKSk7XG4gICRzcGVjOiBudWxsO1xuICAkZGVncmVlOiBudWxsO1xuICAkc2lkZTogbnVsbDtcbiAgJGNvcm5lcjogbnVsbDtcbiAgJGxlbmd0aDogbGVuZ3RoKCRwb3MpO1xuICAvLyBQYXJzZSBTaWRlIGFuZCBjb3JuZXIgcG9zaXRpb25zXG4gIEBpZiAoJGxlbmd0aCA+IDEpIHtcbiAgICBAaWYgbnRoKCRwb3MsIDEpID09IFwidG9cIiB7IC8vIE5ld2VyIHN5bnRheFxuICAgICAgJHNpZGU6IG50aCgkcG9zLCAyKTtcblxuICAgICAgQGlmICRsZW5ndGggPT0gMiB7IC8vIGVnLiB0byB0b3BcbiAgICAgICAgLy8gU3dhcCBmb3IgYmFja3dhcmRzIGNvbXBhdGliaWxpdHlcbiAgICAgICAgJGRlZ3JlZTogX3Bvc2l0aW9uLWZsaXBwZXIobnRoKCRwb3MsIDIpKTtcbiAgICAgIH1cbiAgICAgIEBlbHNlIGlmICRsZW5ndGggPT0gMyB7IC8vIGVnLiB0byB0b3AgbGVmdFxuICAgICAgICAkY29ybmVyOiBudGgoJHBvcywgMyk7XG4gICAgICB9XG4gICAgfVxuICAgIEBlbHNlIGlmICRsZW5ndGggPT0gMiB7IC8vIE9sZGVyIHN5bnRheCAoXCJ0b3AgbGVmdFwiKVxuICAgICAgJHNpZGU6IF9wb3NpdGlvbi1mbGlwcGVyKG50aCgkcG9zLCAxKSk7XG4gICAgICAkY29ybmVyOiBfcG9zaXRpb24tZmxpcHBlcihudGgoJHBvcywgMikpO1xuICAgIH1cblxuICAgIEBpZiAoXCIjeyRzaWRlfSAjeyRjb3JuZXJ9XCIgPT0gXCJsZWZ0IHRvcFwiKSBvciAoXCIjeyRzaWRlfSAjeyRjb3JuZXJ9XCIgPT0gXCJ0b3AgbGVmdFwiKSB7XG4gICAgICAkZGVncmVlOiBfcG9zaXRpb24tZmxpcHBlcigjeyRzaWRlfSkgX3Bvc2l0aW9uLWZsaXBwZXIoI3skY29ybmVyfSk7XG4gICAgfVxuICAgIEBlbHNlIGlmIChcIiN7JHNpZGV9ICN7JGNvcm5lcn1cIiA9PSBcInJpZ2h0IHRvcFwiKSBvciAoXCIjeyRzaWRlfSAjeyRjb3JuZXJ9XCIgPT0gXCJ0b3AgcmlnaHRcIikge1xuICAgICAgJGRlZ3JlZTogX3Bvc2l0aW9uLWZsaXBwZXIoI3skc2lkZX0pIF9wb3NpdGlvbi1mbGlwcGVyKCN7JGNvcm5lcn0pO1xuICAgIH1cbiAgICBAZWxzZSBpZiAoXCIjeyRzaWRlfSAjeyRjb3JuZXJ9XCIgPT0gXCJyaWdodCBib3R0b21cIikgb3IgKFwiI3skc2lkZX0gI3skY29ybmVyfVwiID09IFwiYm90dG9tIHJpZ2h0XCIpIHtcbiAgICAgICRkZWdyZWU6IF9wb3NpdGlvbi1mbGlwcGVyKCN7JHNpZGV9KSBfcG9zaXRpb24tZmxpcHBlcigjeyRjb3JuZXJ9KTtcbiAgICB9XG4gICAgQGVsc2UgaWYgKFwiI3skc2lkZX0gI3skY29ybmVyfVwiID09IFwibGVmdCBib3R0b21cIikgb3IgKFwiI3skc2lkZX0gI3skY29ybmVyfVwiID09IFwiYm90dG9tIGxlZnRcIikge1xuICAgICAgJGRlZ3JlZTogX3Bvc2l0aW9uLWZsaXBwZXIoI3skc2lkZX0pIF9wb3NpdGlvbi1mbGlwcGVyKCN7JGNvcm5lcn0pO1xuICAgIH1cbiAgICAkc3BlYzogdG8gJHNpZGUgJGNvcm5lcjtcbiAgfVxuICBAZWxzZSBpZiAkbGVuZ3RoID09IDEge1xuICAgIC8vIFN3YXAgZm9yIGJhY2t3YXJkcyBjb21wYXRpYmlsaXR5XG4gICAgQGlmICR0eXBlID09IHN0cmluZyB7XG4gICAgICAkZGVncmVlOiAkcG9zO1xuICAgICAgJHNwZWM6IHRvIF9wb3NpdGlvbi1mbGlwcGVyKCRwb3MpO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAkZGVncmVlOiAtMjcwIC0gJHBvczsgLy9yb3RhdGUgdGhlIGdyYWRpZW50IG9wcG9zaXRlIGZyb20gc3BlY1xuICAgICAgJHNwZWM6ICRwb3M7XG4gICAgfVxuICB9XG4gICRkZWdyZWU6IHVucXVvdGUoJGRlZ3JlZSArIFwiLFwiKTtcbiAgJHNwZWM6ICAgdW5xdW90ZSgkc3BlYyArIFwiLFwiKTtcbiAgQHJldHVybiAkZGVncmVlICRzcGVjO1xufVxuXG5AZnVuY3Rpb24gX3Bvc2l0aW9uLWZsaXBwZXIoJHBvcykge1xuICBAcmV0dXJuIGlmKCRwb3MgPT0gbGVmdCwgcmlnaHQsIG51bGwpXG4gICAgICAgICBpZigkcG9zID09IHJpZ2h0LCBsZWZ0LCBudWxsKVxuICAgICAgICAgaWYoJHBvcyA9PSB0b3AsIGJvdHRvbSwgbnVsbClcbiAgICAgICAgIGlmKCRwb3MgPT0gYm90dG9tLCB0b3AsIG51bGwpO1xufVxuIiwiLy8gUHJpdmF0ZSBmdW5jdGlvbiBmb3IgbGluZWFyLWdyYWRpZW50LXBhcnNlclxuQGZ1bmN0aW9uIF9saW5lYXItc2lkZS1jb3JuZXItcGFyc2VyKCRpbWFnZSwgJGZpcnN0LXZhbCwgJHByZWZpeCwgJHN1ZmZpeCwgJGhhcy1tdWx0aXBsZS12YWxzKSB7XG4gICR2YWwtMTogc3RyLXNsaWNlKCRmaXJzdC12YWwsIDEsICRoYXMtbXVsdGlwbGUtdmFscyAtIDEpO1xuICAkdmFsLTI6IHN0ci1zbGljZSgkZmlyc3QtdmFsLCAkaGFzLW11bHRpcGxlLXZhbHMgKyAxLCBzdHItbGVuZ3RoKCRmaXJzdC12YWwpKTtcbiAgJHZhbC0zOiBudWxsO1xuICAkaGFzLXZhbC0zOiBzdHItaW5kZXgoJHZhbC0yLCBcIiBcIik7XG5cbiAgQGlmICRoYXMtdmFsLTMge1xuICAgICR2YWwtMzogc3RyLXNsaWNlKCR2YWwtMiwgJGhhcy12YWwtMyArIDEsIHN0ci1sZW5ndGgoJHZhbC0yKSk7XG4gICAgJHZhbC0yOiBzdHItc2xpY2UoJHZhbC0yLCAxLCAkaGFzLXZhbC0zIC0gMSk7XG4gIH1cblxuICAkcG9zOiBfcG9zaXRpb24tZmxpcHBlcigkdmFsLTEpIF9wb3NpdGlvbi1mbGlwcGVyKCR2YWwtMikgX3Bvc2l0aW9uLWZsaXBwZXIoJHZhbC0zKTtcbiAgJHBvczogdW5xdW90ZSgkcG9zICsgXCJcIik7XG5cbiAgLy8gVXNlIG9sZCBzcGVjIGZvciB3ZWJraXRcbiAgQGlmICR2YWwtMSA9PSBcInRvXCIge1xuICAgIEByZXR1cm4gKFxuICAgICAgd2Via2l0LWltYWdlOiAtd2Via2l0LSArICRwcmVmaXggKyAkcG9zICsgJHN1ZmZpeCxcbiAgICAgIHNwZWMtaW1hZ2U6ICRpbWFnZVxuICAgICk7XG4gIH1cblxuICAvLyBCcmluZyB0aGUgY29kZSB1cCB0byBzcGVjXG4gIEBlbHNlIHtcbiAgICBAcmV0dXJuIChcbiAgICAgIHdlYmtpdC1pbWFnZTogLXdlYmtpdC0gKyAkaW1hZ2UsXG4gICAgICBzcGVjLWltYWdlOiAkcHJlZml4ICsgXCJ0byBcIiArICRwb3MgKyAkc3VmZml4XG4gICAgKTtcbiAgfVxufVxuIiwiQGZ1bmN0aW9uIF9yYWRpYWwtYXJnLXBhcnNlcigkZzEsICRnMiwgJHBvcywgJHNoYXBlLXNpemUpIHtcbiAgQGVhY2ggJHZhbHVlIGluICRnMSwgJGcyIHtcbiAgICAkZmlyc3QtdmFsOiBudGgoJHZhbHVlLCAxKTtcbiAgICAkcG9zLXR5cGU6ICB0eXBlLW9mKCRmaXJzdC12YWwpO1xuICAgICRzcGVjLWF0LWluZGV4OiBudWxsO1xuXG4gICAgLy8gRGV0ZXJtaW5lIGlmIHNwZWMgd2FzIHBhc3NlZCB0byBtaXhpblxuICAgIEBpZiB0eXBlLW9mKCR2YWx1ZSkgPT0gbGlzdCB7XG4gICAgICAkc3BlYy1hdC1pbmRleDogaWYoaW5kZXgoJHZhbHVlLCBhdCksIGluZGV4KCR2YWx1ZSwgYXQpLCBmYWxzZSk7XG4gICAgfVxuICAgIEBpZiAkc3BlYy1hdC1pbmRleCB7XG4gICAgICBAaWYgJHNwZWMtYXQtaW5kZXggPiAxIHtcbiAgICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAoJHNwZWMtYXQtaW5kZXggLSAxKSB7XG4gICAgICAgICAgJHNoYXBlLXNpemU6ICRzaGFwZS1zaXplIG50aCgkdmFsdWUsICRpKTtcbiAgICAgICAgfVxuICAgICAgICBAZm9yICRpIGZyb20gKCRzcGVjLWF0LWluZGV4ICsgMSkgdGhyb3VnaCBsZW5ndGgoJHZhbHVlKSB7XG4gICAgICAgICAgJHBvczogJHBvcyBudGgoJHZhbHVlLCAkaSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIEBlbHNlIGlmICRzcGVjLWF0LWluZGV4ID09IDEge1xuICAgICAgICBAZm9yICRpIGZyb20gKCRzcGVjLWF0LWluZGV4ICsgMSkgdGhyb3VnaCBsZW5ndGgoJHZhbHVlKSB7XG4gICAgICAgICAgJHBvczogJHBvcyBudGgoJHZhbHVlLCAkaSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICRnMTogbnVsbDtcbiAgICB9XG5cbiAgICAvLyBJZiBub3Qgc3BlYyBjYWxjdWxhdGUgY29ycmVjdCB2YWx1ZXNcbiAgICBAZWxzZSB7XG4gICAgICBAaWYgKCRwb3MtdHlwZSAhPSBjb2xvcikgb3IgKCRmaXJzdC12YWwgIT0gXCJ0cmFuc3BhcmVudFwiKSB7XG4gICAgICAgIEBpZiAoJHBvcy10eXBlID09IG51bWJlcilcbiAgICAgICAgb3IgKCRmaXJzdC12YWwgPT0gXCJjZW50ZXJcIilcbiAgICAgICAgb3IgKCRmaXJzdC12YWwgPT0gXCJ0b3BcIilcbiAgICAgICAgb3IgKCRmaXJzdC12YWwgPT0gXCJyaWdodFwiKVxuICAgICAgICBvciAoJGZpcnN0LXZhbCA9PSBcImJvdHRvbVwiKVxuICAgICAgICBvciAoJGZpcnN0LXZhbCA9PSBcImxlZnRcIikge1xuXG4gICAgICAgICAgJHBvczogJHZhbHVlO1xuXG4gICAgICAgICAgQGlmICRwb3MgPT0gJGcxIHtcbiAgICAgICAgICAgICRnMTogbnVsbDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBAZWxzZSBpZlxuICAgICAgICAgICAoJGZpcnN0LXZhbCA9PSBcImVsbGlwc2VcIilcbiAgICAgICAgb3IgKCRmaXJzdC12YWwgPT0gXCJjaXJjbGVcIilcbiAgICAgICAgb3IgKCRmaXJzdC12YWwgPT0gXCJjbG9zZXN0LXNpZGVcIilcbiAgICAgICAgb3IgKCRmaXJzdC12YWwgPT0gXCJjbG9zZXN0LWNvcm5lclwiKVxuICAgICAgICBvciAoJGZpcnN0LXZhbCA9PSBcImZhcnRoZXN0LXNpZGVcIilcbiAgICAgICAgb3IgKCRmaXJzdC12YWwgPT0gXCJmYXJ0aGVzdC1jb3JuZXJcIilcbiAgICAgICAgb3IgKCRmaXJzdC12YWwgPT0gXCJjb250YWluXCIpXG4gICAgICAgIG9yICgkZmlyc3QtdmFsID09IFwiY292ZXJcIikge1xuXG4gICAgICAgICAgJHNoYXBlLXNpemU6ICR2YWx1ZTtcblxuICAgICAgICAgIEBpZiAkdmFsdWUgPT0gJGcxIHtcbiAgICAgICAgICAgICRnMTogbnVsbDtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBAZWxzZSBpZiAkdmFsdWUgPT0gJGcyIHtcbiAgICAgICAgICAgICRnMjogbnVsbDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQHJldHVybiAkZzEsICRnMiwgJHBvcywgJHNoYXBlLXNpemU7XG59XG4iLCJAZnVuY3Rpb24gX3JhZGlhbC1wb3NpdGlvbnMtcGFyc2VyKCRncmFkaWVudC1wb3MpIHtcbiAgJHNoYXBlLXNpemU6IG50aCgkZ3JhZGllbnQtcG9zLCAxKTtcbiAgJHBvczogICAgICAgIG50aCgkZ3JhZGllbnQtcG9zLCAyKTtcbiAgJHNoYXBlLXNpemUtc3BlYzogX3NoYXBlLXNpemUtc3RyaXBwZXIoJHNoYXBlLXNpemUpO1xuXG4gICRwcmUtc3BlYzogdW5xdW90ZShpZigkcG9zLCBcIiN7JHBvc30sIFwiLCBudWxsKSlcbiAgICAgICAgICAgICB1bnF1b3RlKGlmKCRzaGFwZS1zaXplLCBcIiN7JHNoYXBlLXNpemV9LFwiLCBudWxsKSk7XG4gICRwb3Mtc3BlYzogaWYoJHBvcywgXCJhdCAjeyRwb3N9XCIsIG51bGwpO1xuXG4gICRzcGVjOiBcIiN7JHNoYXBlLXNpemUtc3BlY30gI3skcG9zLXNwZWN9XCI7XG5cbiAgLy8gQWRkIGNvbW1hXG4gIEBpZiAoJHNwZWMgIT0gXCIgIFwiKSB7XG4gICAgJHNwZWM6IFwiI3skc3BlY30sXCI7XG4gIH1cblxuICBAcmV0dXJuICRwcmUtc3BlYyAkc3BlYztcbn1cbiIsIkBmdW5jdGlvbiBfcmFkaWFsLWdyYWRpZW50LXBhcnNlcigkaW1hZ2UpIHtcbiAgJGltYWdlOiB1bnF1b3RlKCRpbWFnZSk7XG4gICRncmFkaWVudHM6ICgpO1xuICAkc3RhcnQ6IHN0ci1pbmRleCgkaW1hZ2UsIFwiKFwiKTtcbiAgJGVuZDogc3RyLWluZGV4KCRpbWFnZSwgXCIsXCIpO1xuICAkZmlyc3QtdmFsOiBzdHItc2xpY2UoJGltYWdlLCAkc3RhcnQgKyAxLCAkZW5kIC0gMSk7XG5cbiAgJHByZWZpeDogc3RyLXNsaWNlKCRpbWFnZSwgMSwgJHN0YXJ0KTtcbiAgJHN1ZmZpeDogc3RyLXNsaWNlKCRpbWFnZSwgJGVuZCwgc3RyLWxlbmd0aCgkaW1hZ2UpKTtcblxuICAkaXMtc3BlYy1zeW50YXg6IHN0ci1pbmRleCgkZmlyc3QtdmFsLCBcImF0XCIpO1xuXG4gIEBpZiAkaXMtc3BlYy1zeW50YXggYW5kICRpcy1zcGVjLXN5bnRheCA+IDEge1xuICAgICRrZXl3b3JkOiBzdHItc2xpY2UoJGZpcnN0LXZhbCwgMSwgJGlzLXNwZWMtc3ludGF4IC0gMik7XG4gICAgJHBvczogc3RyLXNsaWNlKCRmaXJzdC12YWwsICRpcy1zcGVjLXN5bnRheCArIDMsIHN0ci1sZW5ndGgoJGZpcnN0LXZhbCkpO1xuICAgICRwb3M6IGFwcGVuZCgkcG9zLCAka2V5d29yZCwgY29tbWEpO1xuXG4gICAgJGdyYWRpZW50czogKFxuICAgICAgd2Via2l0LWltYWdlOiAtd2Via2l0LSArICRwcmVmaXggKyAkcG9zICsgJHN1ZmZpeCxcbiAgICAgIHNwZWMtaW1hZ2U6ICRpbWFnZVxuICAgICk7XG4gIH1cblxuICBAZWxzZSBpZiAkaXMtc3BlYy1zeW50YXggPT0gMSB7XG4gICAgJHBvczogc3RyLXNsaWNlKCRmaXJzdC12YWwsICRpcy1zcGVjLXN5bnRheCArIDMsIHN0ci1sZW5ndGgoJGZpcnN0LXZhbCkpO1xuXG4gICAgJGdyYWRpZW50czogKFxuICAgICAgd2Via2l0LWltYWdlOiAtd2Via2l0LSArICRwcmVmaXggKyAkcG9zICsgJHN1ZmZpeCxcbiAgICAgIHNwZWMtaW1hZ2U6ICRpbWFnZVxuICAgICk7XG4gIH1cblxuICBAZWxzZSBpZiBzdHItaW5kZXgoJGltYWdlLCBcImNvdmVyXCIpIG9yIHN0ci1pbmRleCgkaW1hZ2UsIFwiY29udGFpblwiKSB7XG4gICAgQHdhcm4gXCJSYWRpYWwtZ3JhZGllbnQgbmVlZHMgdG8gYmUgdXBkYXRlZCB0byBjb25mb3JtIHRvIGxhdGVzdCBzcGVjLlwiO1xuXG4gICAgJGdyYWRpZW50czogKFxuICAgICAgd2Via2l0LWltYWdlOiBudWxsLFxuICAgICAgc3BlYy1pbWFnZTogJGltYWdlXG4gICAgKTtcbiAgfVxuXG4gIEBlbHNlIHtcbiAgICAkZ3JhZGllbnRzOiAoXG4gICAgICB3ZWJraXQtaW1hZ2U6IC13ZWJraXQtICsgJGltYWdlLFxuICAgICAgc3BlYy1pbWFnZTogJGltYWdlXG4gICAgKTtcbiAgfVxuXG4gIEByZXR1cm4gJGdyYWRpZW50cztcbn1cbiIsIi8vIFVzZXIgZm9yIGxpbmVhciBhbmQgcmFkaWFsIGdyYWRpZW50cyB3aXRoaW4gYmFja2dyb3VuZC1pbWFnZSBvciBib3JkZXItaW1hZ2UgcHJvcGVydGllc1xuXG5AZnVuY3Rpb24gX3JlbmRlci1ncmFkaWVudHMoJGdyYWRpZW50LXBvc2l0aW9ucywgJGdyYWRpZW50cywgJGdyYWRpZW50LXR5cGUsICR2ZW5kb3I6IGZhbHNlKSB7XG4gICRwcmUtc3BlYzogbnVsbDtcbiAgJHNwZWM6IG51bGw7XG4gICR2ZW5kb3ItZ3JhZGllbnRzOiBudWxsO1xuICBAaWYgJGdyYWRpZW50LXR5cGUgPT0gbGluZWFyIHtcbiAgICBAaWYgJGdyYWRpZW50LXBvc2l0aW9ucyB7XG4gICAgICAkcHJlLXNwZWM6IG50aCgkZ3JhZGllbnQtcG9zaXRpb25zLCAxKTtcbiAgICAgICRzcGVjOiAgICAgbnRoKCRncmFkaWVudC1wb3NpdGlvbnMsIDIpO1xuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkZ3JhZGllbnQtdHlwZSA9PSByYWRpYWwge1xuICAgICRwcmUtc3BlYzogbnRoKCRncmFkaWVudC1wb3NpdGlvbnMsIDEpO1xuICAgICRzcGVjOiAgICAgbnRoKCRncmFkaWVudC1wb3NpdGlvbnMsIDIpO1xuICB9XG5cbiAgQGlmICR2ZW5kb3Ige1xuICAgICR2ZW5kb3ItZ3JhZGllbnRzOiAtI3skdmVuZG9yfS0jeyRncmFkaWVudC10eXBlfS1ncmFkaWVudCgjeyRwcmUtc3BlY30gJGdyYWRpZW50cyk7XG4gIH1cbiAgQGVsc2UgaWYgJHZlbmRvciA9PSBmYWxzZSB7XG4gICAgJHZlbmRvci1ncmFkaWVudHM6IFwiI3skZ3JhZGllbnQtdHlwZX0tZ3JhZGllbnQoI3skc3BlY30gI3skZ3JhZGllbnRzfSlcIjtcbiAgICAkdmVuZG9yLWdyYWRpZW50czogdW5xdW90ZSgkdmVuZG9yLWdyYWRpZW50cyk7XG4gIH1cbiAgQHJldHVybiAkdmVuZG9yLWdyYWRpZW50cztcbn1cbiIsIkBmdW5jdGlvbiBfc2hhcGUtc2l6ZS1zdHJpcHBlcigkc2hhcGUtc2l6ZSkge1xuICAkc2hhcGUtc2l6ZS1zcGVjOiBudWxsO1xuICBAZWFjaCAkdmFsdWUgaW4gJHNoYXBlLXNpemUge1xuICAgIEBpZiAoJHZhbHVlID09IFwiY292ZXJcIikgb3IgKCR2YWx1ZSA9PSBcImNvbnRhaW5cIikge1xuICAgICAgJHZhbHVlOiBudWxsO1xuICAgIH1cbiAgICAkc2hhcGUtc2l6ZS1zcGVjOiBcIiN7JHNoYXBlLXNpemUtc3BlY30gI3skdmFsdWV9XCI7XG4gIH1cbiAgQHJldHVybiAkc2hhcGUtc2l6ZS1zcGVjO1xufVxuIiwiLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovL1xuLy8gSGVscGVyIGZ1bmN0aW9uIGZvciBsaW5lYXIvcmFkaWFsLWdyYWRpZW50LXBhcnNlcnMuXG4vLyBTb3VyY2U6IGh0dHA6Ly9zYXNzbWVpc3Rlci5jb20vZ2lzdC85NjQ3NDA4XG4vLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8vXG5AZnVuY3Rpb24gX3N0ci10by1udW0oJHN0cmluZykge1xuICAvLyBNYXRyaWNlc1xuICAkc3RyaW5nczogXCIwXCIgXCIxXCIgXCIyXCIgXCIzXCIgXCI0XCIgXCI1XCIgXCI2XCIgXCI3XCIgXCI4XCIgXCI5XCI7XG4gICRudW1iZXJzOiAgMCAgIDEgICAyICAgMyAgIDQgICA1ICAgNiAgIDcgICA4ICAgOTtcblxuICAvLyBSZXN1bHRcbiAgJHJlc3VsdDogMDtcbiAgJGRpdmlkZXI6IDA7XG4gICRtaW51czogZmFsc2U7XG5cbiAgLy8gTG9vcGluZyB0aHJvdWdoIGFsbCBjaGFyYWN0ZXJzXG4gIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggc3RyLWxlbmd0aCgkc3RyaW5nKSB7XG4gICAgJGNoYXJhY3Rlcjogc3RyLXNsaWNlKCRzdHJpbmcsICRpLCAkaSk7XG4gICAgJGluZGV4OiBpbmRleCgkc3RyaW5ncywgJGNoYXJhY3Rlcik7XG5cbiAgICBAaWYgJGNoYXJhY3RlciA9PSBcIi1cIiB7XG4gICAgICAkbWludXM6IHRydWU7XG4gICAgfVxuXG4gICAgQGVsc2UgaWYgJGNoYXJhY3RlciA9PSBcIi5cIiB7XG4gICAgICAkZGl2aWRlcjogMTtcbiAgICB9XG5cbiAgICBAZWxzZSB7XG4gICAgICBAaWYgbm90ICRpbmRleCB7XG4gICAgICAgICRyZXN1bHQ6IGlmKCRtaW51cywgJHJlc3VsdCAqIC0xLCAkcmVzdWx0KTtcbiAgICAgICAgQHJldHVybiBfY29udmVydC11bml0cygkcmVzdWx0LCBzdHItc2xpY2UoJHN0cmluZywgJGkpKTtcbiAgICAgIH1cblxuICAgICAgJG51bWJlcjogbnRoKCRudW1iZXJzLCAkaW5kZXgpO1xuXG4gICAgICBAaWYgJGRpdmlkZXIgPT0gMCB7XG4gICAgICAgICRyZXN1bHQ6ICRyZXN1bHQgKiAxMDtcbiAgICAgIH1cblxuICAgICAgQGVsc2Uge1xuICAgICAgICAvLyBNb3ZlIHRoZSBkZWNpbWFsIGRvdCB0byB0aGUgbGVmdFxuICAgICAgICAkZGl2aWRlcjogJGRpdmlkZXIgKiAxMDtcbiAgICAgICAgJG51bWJlcjogJG51bWJlciAvICRkaXZpZGVyO1xuICAgICAgfVxuXG4gICAgICAkcmVzdWx0OiAkcmVzdWx0ICsgJG51bWJlcjtcbiAgICB9XG4gIH1cbiAgQHJldHVybiBpZigkbWludXMsICRyZXN1bHQgKiAtMSwgJHJlc3VsdCk7XG59XG4iLCIvLyBodHRwOi8vd3d3LnczLm9yZy9UUi9jc3MzLWFuaW1hdGlvbnMvI3RoZS1hbmltYXRpb24tbmFtZS1wcm9wZXJ0eS1cbi8vIEVhY2ggb2YgdGhlc2UgbWl4aW5zIHN1cHBvcnQgY29tbWEgc2VwYXJhdGVkIGxpc3RzIG9mIHZhbHVlcywgd2hpY2ggYWxsb3dzIGRpZmZlcmVudCB0cmFuc2l0aW9ucyBmb3IgaW5kaXZpZHVhbCBwcm9wZXJ0aWVzIHRvIGJlIGRlc2NyaWJlZCBpbiBhIHNpbmdsZSBzdHlsZSBydWxlLiBFYWNoIHZhbHVlIGluIHRoZSBsaXN0IGNvcnJlc3BvbmRzIHRvIHRoZSB2YWx1ZSBhdCB0aGF0IHNhbWUgcG9zaXRpb24gaW4gdGhlIG90aGVyIHByb3BlcnRpZXMuXG5cbkBtaXhpbiBhbmltYXRpb24oJGFuaW1hdGlvbnMuLi4pIHtcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYW5pbWF0aW9uLCAkYW5pbWF0aW9ucywgd2Via2l0IG1veiBzcGVjKTtcbn1cblxuQG1peGluIGFuaW1hdGlvbi1uYW1lKCRuYW1lcy4uLikge1xuICBAaW5jbHVkZSBwcmVmaXhlcihhbmltYXRpb24tbmFtZSwgJG5hbWVzLCB3ZWJraXQgbW96IHNwZWMpO1xufVxuXG5AbWl4aW4gYW5pbWF0aW9uLWR1cmF0aW9uKCR0aW1lcy4uLikge1xuICBAaW5jbHVkZSBwcmVmaXhlcihhbmltYXRpb24tZHVyYXRpb24sICR0aW1lcywgd2Via2l0IG1veiBzcGVjKTtcbn1cblxuQG1peGluIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb24oJG1vdGlvbnMuLi4pIHtcbiAgLy8gZWFzZSB8IGxpbmVhciB8IGVhc2UtaW4gfCBlYXNlLW91dCB8IGVhc2UtaW4tb3V0XG4gIEBpbmNsdWRlIHByZWZpeGVyKGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb24sICRtb3Rpb25zLCB3ZWJraXQgbW96IHNwZWMpO1xufVxuXG5AbWl4aW4gYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudCgkdmFsdWVzLi4uKSB7XG4gIC8vIGluZmluaXRlIHwgPG51bWJlcj5cbiAgQGluY2x1ZGUgcHJlZml4ZXIoYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudCwgJHZhbHVlcywgd2Via2l0IG1veiBzcGVjKTtcbn1cblxuQG1peGluIGFuaW1hdGlvbi1kaXJlY3Rpb24oJGRpcmVjdGlvbnMuLi4pIHtcbiAgLy8gbm9ybWFsIHwgYWx0ZXJuYXRlXG4gIEBpbmNsdWRlIHByZWZpeGVyKGFuaW1hdGlvbi1kaXJlY3Rpb24sICRkaXJlY3Rpb25zLCB3ZWJraXQgbW96IHNwZWMpO1xufVxuXG5AbWl4aW4gYW5pbWF0aW9uLXBsYXktc3RhdGUoJHN0YXRlcy4uLikge1xuICAvLyBydW5uaW5nIHwgcGF1c2VkXG4gIEBpbmNsdWRlIHByZWZpeGVyKGFuaW1hdGlvbi1wbGF5LXN0YXRlLCAkc3RhdGVzLCB3ZWJraXQgbW96IHNwZWMpO1xufVxuXG5AbWl4aW4gYW5pbWF0aW9uLWRlbGF5KCR0aW1lcy4uLikge1xuICBAaW5jbHVkZSBwcmVmaXhlcihhbmltYXRpb24tZGVsYXksICR0aW1lcywgd2Via2l0IG1veiBzcGVjKTtcbn1cblxuQG1peGluIGFuaW1hdGlvbi1maWxsLW1vZGUoJG1vZGVzLi4uKSB7XG4gIC8vIG5vbmUgfCBmb3J3YXJkcyB8IGJhY2t3YXJkcyB8IGJvdGhcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYW5pbWF0aW9uLWZpbGwtbW9kZSwgJG1vZGVzLCB3ZWJraXQgbW96IHNwZWMpO1xufVxuIiwiQG1peGluIGFwcGVhcmFuY2UoJHZhbHVlKSB7XG4gIEBpbmNsdWRlIHByZWZpeGVyKGFwcGVhcmFuY2UsICR2YWx1ZSwgd2Via2l0IG1veiBtcyBvIHNwZWMpO1xufVxuIiwiQG1peGluIGJhY2tmYWNlLXZpc2liaWxpdHkoJHZpc2liaWxpdHkpIHtcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYmFja2ZhY2UtdmlzaWJpbGl0eSwgJHZpc2liaWxpdHksIHdlYmtpdCBzcGVjKTtcbn1cbiIsIi8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLy9cbi8vIEJhY2tncm91bmQgcHJvcGVydHkgZm9yIGFkZGluZyBtdWx0aXBsZSBiYWNrZ3JvdW5kcyB1c2luZyBzaG9ydGhhbmRcbi8vIG5vdGF0aW9uLlxuLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovL1xuXG5AbWl4aW4gYmFja2dyb3VuZCgkYmFja2dyb3VuZHMuLi4pIHtcbiAgJHdlYmtpdC1iYWNrZ3JvdW5kczogKCk7XG4gICRzcGVjLWJhY2tncm91bmRzOiAoKTtcblxuICBAZWFjaCAkYmFja2dyb3VuZCBpbiAkYmFja2dyb3VuZHMge1xuICAgICR3ZWJraXQtYmFja2dyb3VuZDogKCk7XG4gICAgJHNwZWMtYmFja2dyb3VuZDogKCk7XG4gICAgJGJhY2tncm91bmQtdHlwZTogdHlwZS1vZigkYmFja2dyb3VuZCk7XG5cbiAgICBAaWYgJGJhY2tncm91bmQtdHlwZSA9PSBzdHJpbmcgb3IgJGJhY2tncm91bmQtdHlwZSA9PSBsaXN0IHtcbiAgICAgICRiYWNrZ3JvdW5kLXN0cjogaWYoJGJhY2tncm91bmQtdHlwZSA9PSBsaXN0LCBudGgoJGJhY2tncm91bmQsIDEpLCAkYmFja2dyb3VuZCk7XG5cbiAgICAgICR1cmwtc3RyOiAgICAgICBzdHItc2xpY2UoJGJhY2tncm91bmQtc3RyLCAxLCAzKTtcbiAgICAgICRncmFkaWVudC10eXBlOiBzdHItc2xpY2UoJGJhY2tncm91bmQtc3RyLCAxLCA2KTtcblxuICAgICAgQGlmICR1cmwtc3RyID09IFwidXJsXCIge1xuICAgICAgICAkd2Via2l0LWJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kO1xuICAgICAgICAkc3BlYy1iYWNrZ3JvdW5kOiAgICRiYWNrZ3JvdW5kO1xuICAgICAgfVxuXG4gICAgICBAZWxzZSBpZiAkZ3JhZGllbnQtdHlwZSA9PSBcImxpbmVhclwiIHtcbiAgICAgICAgJGdyYWRpZW50czogX2xpbmVhci1ncmFkaWVudC1wYXJzZXIoXCIjeyRiYWNrZ3JvdW5kfVwiKTtcbiAgICAgICAgJHdlYmtpdC1iYWNrZ3JvdW5kOiBtYXAtZ2V0KCRncmFkaWVudHMsIHdlYmtpdC1pbWFnZSk7XG4gICAgICAgICRzcGVjLWJhY2tncm91bmQ6ICAgbWFwLWdldCgkZ3JhZGllbnRzLCBzcGVjLWltYWdlKTtcbiAgICAgIH1cblxuICAgICAgQGVsc2UgaWYgJGdyYWRpZW50LXR5cGUgPT0gXCJyYWRpYWxcIiB7XG4gICAgICAgICRncmFkaWVudHM6IF9yYWRpYWwtZ3JhZGllbnQtcGFyc2VyKFwiI3skYmFja2dyb3VuZH1cIik7XG4gICAgICAgICR3ZWJraXQtYmFja2dyb3VuZDogbWFwLWdldCgkZ3JhZGllbnRzLCB3ZWJraXQtaW1hZ2UpO1xuICAgICAgICAkc3BlYy1iYWNrZ3JvdW5kOiAgIG1hcC1nZXQoJGdyYWRpZW50cywgc3BlYy1pbWFnZSk7XG4gICAgICB9XG5cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgJHdlYmtpdC1iYWNrZ3JvdW5kOiAkYmFja2dyb3VuZDtcbiAgICAgICAgJHNwZWMtYmFja2dyb3VuZDogICAkYmFja2dyb3VuZDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAZWxzZSB7XG4gICAgICAkd2Via2l0LWJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kO1xuICAgICAgJHNwZWMtYmFja2dyb3VuZDogICAkYmFja2dyb3VuZDtcbiAgICB9XG5cbiAgICAkd2Via2l0LWJhY2tncm91bmRzOiBhcHBlbmQoJHdlYmtpdC1iYWNrZ3JvdW5kcywgJHdlYmtpdC1iYWNrZ3JvdW5kLCBjb21tYSk7XG4gICAgJHNwZWMtYmFja2dyb3VuZHM6ICAgYXBwZW5kKCRzcGVjLWJhY2tncm91bmRzLCAgICRzcGVjLWJhY2tncm91bmQsICAgY29tbWEpO1xuICB9XG5cbiAgYmFja2dyb3VuZDogJHdlYmtpdC1iYWNrZ3JvdW5kcztcbiAgYmFja2dyb3VuZDogJHNwZWMtYmFja2dyb3VuZHM7XG59XG4iLCIvLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8vXG4vLyBCYWNrZ3JvdW5kLWltYWdlIHByb3BlcnR5IGZvciBhZGRpbmcgbXVsdGlwbGUgYmFja2dyb3VuZCBpbWFnZXMgd2l0aFxuLy8gZ3JhZGllbnRzLCBvciBmb3Igc3RyaW5naW5nIG11bHRpcGxlIGdyYWRpZW50cyB0b2dldGhlci5cbi8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLy9cblxuQG1peGluIGJhY2tncm91bmQtaW1hZ2UoJGltYWdlcy4uLikge1xuICAkd2Via2l0LWltYWdlczogKCk7XG4gICRzcGVjLWltYWdlczogKCk7XG5cbiAgQGVhY2ggJGltYWdlIGluICRpbWFnZXMge1xuICAgICR3ZWJraXQtaW1hZ2U6ICgpO1xuICAgICRzcGVjLWltYWdlOiAoKTtcblxuICAgIEBpZiAodHlwZS1vZigkaW1hZ2UpID09IHN0cmluZykge1xuICAgICAgJHVybC1zdHI6ICAgICAgIHN0ci1zbGljZSgkaW1hZ2UsIDEsIDMpO1xuICAgICAgJGdyYWRpZW50LXR5cGU6IHN0ci1zbGljZSgkaW1hZ2UsIDEsIDYpO1xuXG4gICAgICBAaWYgJHVybC1zdHIgPT0gXCJ1cmxcIiB7XG4gICAgICAgICR3ZWJraXQtaW1hZ2U6ICRpbWFnZTtcbiAgICAgICAgJHNwZWMtaW1hZ2U6ICAgJGltYWdlO1xuICAgICAgfVxuXG4gICAgICBAZWxzZSBpZiAkZ3JhZGllbnQtdHlwZSA9PSBcImxpbmVhclwiIHtcbiAgICAgICAgJGdyYWRpZW50czogX2xpbmVhci1ncmFkaWVudC1wYXJzZXIoJGltYWdlKTtcbiAgICAgICAgJHdlYmtpdC1pbWFnZTogIG1hcC1nZXQoJGdyYWRpZW50cywgd2Via2l0LWltYWdlKTtcbiAgICAgICAgJHNwZWMtaW1hZ2U6ICAgIG1hcC1nZXQoJGdyYWRpZW50cywgc3BlYy1pbWFnZSk7XG4gICAgICB9XG5cbiAgICAgIEBlbHNlIGlmICRncmFkaWVudC10eXBlID09IFwicmFkaWFsXCIge1xuICAgICAgICAkZ3JhZGllbnRzOiBfcmFkaWFsLWdyYWRpZW50LXBhcnNlcigkaW1hZ2UpO1xuICAgICAgICAkd2Via2l0LWltYWdlOiBtYXAtZ2V0KCRncmFkaWVudHMsIHdlYmtpdC1pbWFnZSk7XG4gICAgICAgICRzcGVjLWltYWdlOiAgIG1hcC1nZXQoJGdyYWRpZW50cywgc3BlYy1pbWFnZSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJHdlYmtpdC1pbWFnZXM6IGFwcGVuZCgkd2Via2l0LWltYWdlcywgJHdlYmtpdC1pbWFnZSwgY29tbWEpO1xuICAgICRzcGVjLWltYWdlczogICBhcHBlbmQoJHNwZWMtaW1hZ2VzLCAgICRzcGVjLWltYWdlLCAgIGNvbW1hKTtcbiAgfVxuXG4gIGJhY2tncm91bmQtaW1hZ2U6ICR3ZWJraXQtaW1hZ2VzO1xuICBiYWNrZ3JvdW5kLWltYWdlOiAkc3BlYy1pbWFnZXM7XG59XG4iLCJAbWl4aW4gYm9yZGVyLWltYWdlKCRib3JkZXJzLi4uKSB7XG4gICR3ZWJraXQtYm9yZGVyczogKCk7XG4gICRzcGVjLWJvcmRlcnM6ICgpO1xuXG4gIEBlYWNoICRib3JkZXIgaW4gJGJvcmRlcnMge1xuICAgICR3ZWJraXQtYm9yZGVyOiAoKTtcbiAgICAkc3BlYy1ib3JkZXI6ICgpO1xuICAgICRib3JkZXItdHlwZTogdHlwZS1vZigkYm9yZGVyKTtcblxuICAgIEBpZiAkYm9yZGVyLXR5cGUgPT0gc3RyaW5nIG9yIGxpc3Qge1xuICAgICAgJGJvcmRlci1zdHI6IGlmKCRib3JkZXItdHlwZSA9PSBsaXN0LCBudGgoJGJvcmRlciwgMSksICRib3JkZXIpO1xuXG4gICAgICAkdXJsLXN0cjogICAgICAgc3RyLXNsaWNlKCRib3JkZXItc3RyLCAxLCAzKTtcbiAgICAgICRncmFkaWVudC10eXBlOiBzdHItc2xpY2UoJGJvcmRlci1zdHIsIDEsIDYpO1xuXG4gICAgICBAaWYgJHVybC1zdHIgPT0gXCJ1cmxcIiB7XG4gICAgICAgICR3ZWJraXQtYm9yZGVyOiAkYm9yZGVyO1xuICAgICAgICAkc3BlYy1ib3JkZXI6ICAgJGJvcmRlcjtcbiAgICAgIH1cblxuICAgICAgQGVsc2UgaWYgJGdyYWRpZW50LXR5cGUgPT0gXCJsaW5lYXJcIiB7XG4gICAgICAgICRncmFkaWVudHM6IF9saW5lYXItZ3JhZGllbnQtcGFyc2VyKFwiI3skYm9yZGVyfVwiKTtcbiAgICAgICAgJHdlYmtpdC1ib3JkZXI6IG1hcC1nZXQoJGdyYWRpZW50cywgd2Via2l0LWltYWdlKTtcbiAgICAgICAgJHNwZWMtYm9yZGVyOiAgIG1hcC1nZXQoJGdyYWRpZW50cywgc3BlYy1pbWFnZSk7XG4gICAgICB9XG5cbiAgICAgIEBlbHNlIGlmICRncmFkaWVudC10eXBlID09IFwicmFkaWFsXCIge1xuICAgICAgICAkZ3JhZGllbnRzOiBfcmFkaWFsLWdyYWRpZW50LXBhcnNlcihcIiN7JGJvcmRlcn1cIik7XG4gICAgICAgICR3ZWJraXQtYm9yZGVyOiBtYXAtZ2V0KCRncmFkaWVudHMsIHdlYmtpdC1pbWFnZSk7XG4gICAgICAgICRzcGVjLWJvcmRlcjogICBtYXAtZ2V0KCRncmFkaWVudHMsIHNwZWMtaW1hZ2UpO1xuICAgICAgfVxuXG4gICAgICBAZWxzZSB7XG4gICAgICAgICR3ZWJraXQtYm9yZGVyOiAkYm9yZGVyO1xuICAgICAgICAkc3BlYy1ib3JkZXI6ICAgJGJvcmRlcjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAZWxzZSB7XG4gICAgICAkd2Via2l0LWJvcmRlcjogJGJvcmRlcjtcbiAgICAgICRzcGVjLWJvcmRlcjogICAkYm9yZGVyO1xuICAgIH1cblxuICAgICR3ZWJraXQtYm9yZGVyczogYXBwZW5kKCR3ZWJraXQtYm9yZGVycywgJHdlYmtpdC1ib3JkZXIsIGNvbW1hKTtcbiAgICAkc3BlYy1ib3JkZXJzOiAgIGFwcGVuZCgkc3BlYy1ib3JkZXJzLCAgICRzcGVjLWJvcmRlciwgICBjb21tYSk7XG4gIH1cblxuICAtd2Via2l0LWJvcmRlci1pbWFnZTogJHdlYmtpdC1ib3JkZXJzO1xuICAgICAgICAgIGJvcmRlci1pbWFnZTogJHNwZWMtYm9yZGVycztcbiAgICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xufVxuXG4vL0V4YW1wbGVzOlxuLy8gQGluY2x1ZGUgYm9yZGVyLWltYWdlKHVybChcImltYWdlLnBuZ1wiKSk7XG4vLyBAaW5jbHVkZSBib3JkZXItaW1hZ2UodXJsKFwiaW1hZ2UucG5nXCIpIDIwIHN0cmV0Y2gpO1xuLy8gQGluY2x1ZGUgYm9yZGVyLWltYWdlKGxpbmVhci1ncmFkaWVudCg0NWRlZywgb3JhbmdlLCB5ZWxsb3cpKTtcbi8vIEBpbmNsdWRlIGJvcmRlci1pbWFnZShsaW5lYXItZ3JhZGllbnQoNDVkZWcsIG9yYW5nZSwgeWVsbG93KSBzdHJldGNoKTtcbi8vIEBpbmNsdWRlIGJvcmRlci1pbWFnZShsaW5lYXItZ3JhZGllbnQoNDVkZWcsIG9yYW5nZSwgeWVsbG93KSAyMCAzMCA0MCA1MCBzdHJldGNoIHJvdW5kKTtcbi8vIEBpbmNsdWRlIGJvcmRlci1pbWFnZShyYWRpYWwtZ3JhZGllbnQodG9wLCBjb3Zlciwgb3JhbmdlLCB5ZWxsb3csIG9yYW5nZSkpO1xuIiwiQG1peGluIGNhbGMoJHByb3BlcnR5LCAkdmFsdWUpIHtcbiAgI3skcHJvcGVydHl9OiAtd2Via2l0LWNhbGMoI3skdmFsdWV9KTtcbiAgI3skcHJvcGVydHl9OiBjYWxjKCN7JHZhbHVlfSk7XG59XG4iLCJAbWl4aW4gY29sdW1ucygkYXJnOiBhdXRvKSB7XG4gIC8vIDxjb2x1bW4tY291bnQ+IHx8IDxjb2x1bW4td2lkdGg+XG4gIEBpbmNsdWRlIHByZWZpeGVyKGNvbHVtbnMsICRhcmcsIHdlYmtpdCBtb3ogc3BlYyk7XG59XG5cbkBtaXhpbiBjb2x1bW4tY291bnQoJGludDogYXV0bykge1xuICAvLyBhdXRvIHx8IGludGVnZXJcbiAgQGluY2x1ZGUgcHJlZml4ZXIoY29sdW1uLWNvdW50LCAkaW50LCB3ZWJraXQgbW96IHNwZWMpO1xufVxuXG5AbWl4aW4gY29sdW1uLWdhcCgkbGVuZ3RoOiBub3JtYWwpIHtcbiAgLy8gbm9ybWFsIHx8IGxlbmd0aFxuICBAaW5jbHVkZSBwcmVmaXhlcihjb2x1bW4tZ2FwLCAkbGVuZ3RoLCB3ZWJraXQgbW96IHNwZWMpO1xufVxuXG5AbWl4aW4gY29sdW1uLWZpbGwoJGFyZzogYXV0bykge1xuICAvLyBhdXRvIHx8IGxlbmd0aFxuICBAaW5jbHVkZSBwcmVmaXhlcihjb2x1bW4tZmlsbCwgJGFyZywgd2Via2l0IG1veiBzcGVjKTtcbn1cblxuQG1peGluIGNvbHVtbi1ydWxlKCRhcmcpIHtcbiAgLy8gPGJvcmRlci13aWR0aD4gfHwgPGJvcmRlci1zdHlsZT4gfHwgPGNvbG9yPlxuICBAaW5jbHVkZSBwcmVmaXhlcihjb2x1bW4tcnVsZSwgJGFyZywgd2Via2l0IG1veiBzcGVjKTtcbn1cblxuQG1peGluIGNvbHVtbi1ydWxlLWNvbG9yKCRjb2xvcikge1xuICBAaW5jbHVkZSBwcmVmaXhlcihjb2x1bW4tcnVsZS1jb2xvciwgJGNvbG9yLCB3ZWJraXQgbW96IHNwZWMpO1xufVxuXG5AbWl4aW4gY29sdW1uLXJ1bGUtc3R5bGUoJHN0eWxlOiBub25lKSB7XG4gIC8vIG5vbmUgfCBoaWRkZW4gfCBkYXNoZWQgfCBkb3R0ZWQgfCBkb3VibGUgfCBncm9vdmUgfCBpbnNldCB8IGluc2V0IHwgb3V0c2V0IHwgcmlkZ2UgfCBzb2xpZFxuICBAaW5jbHVkZSBwcmVmaXhlcihjb2x1bW4tcnVsZS1zdHlsZSwgJHN0eWxlLCB3ZWJraXQgbW96IHNwZWMpO1xufVxuXG5AbWl4aW4gY29sdW1uLXJ1bGUtd2lkdGggKCR3aWR0aDogbm9uZSkge1xuICBAaW5jbHVkZSBwcmVmaXhlcihjb2x1bW4tcnVsZS13aWR0aCwgJHdpZHRoLCB3ZWJraXQgbW96IHNwZWMpO1xufVxuXG5AbWl4aW4gY29sdW1uLXNwYW4oJGFyZzogbm9uZSkge1xuICAvLyBub25lIHx8IGFsbFxuICBAaW5jbHVkZSBwcmVmaXhlcihjb2x1bW4tc3BhbiwgJGFyZywgd2Via2l0IG1veiBzcGVjKTtcbn1cblxuQG1peGluIGNvbHVtbi13aWR0aCgkbGVuZ3RoOiBhdXRvKSB7XG4gIC8vIGF1dG8gfHwgbGVuZ3RoXG4gIEBpbmNsdWRlIHByZWZpeGVyKGNvbHVtbi13aWR0aCwgJGxlbmd0aCwgd2Via2l0IG1veiBzcGVjKTtcbn1cbiIsIkBtaXhpbiBmaWx0ZXIoJGZ1bmN0aW9uOiBub25lKSB7XG4gIC8vIDxmaWx0ZXItZnVuY3Rpb24+IFs8ZmlsdGVyLWZ1bmN0aW9uXSogfCBub25lXG4gIEBpbmNsdWRlIHByZWZpeGVyKGZpbHRlciwgJGZ1bmN0aW9uLCB3ZWJraXQgc3BlYyk7XG59XG4iLCIvLyBDU1MzIEZsZXhpYmxlIEJveCBNb2RlbCBhbmQgcHJvcGVydHkgZGVmYXVsdHNcblxuLy8gQ3VzdG9tIHNob3J0aGFuZCBub3RhdGlvbiBmb3IgZmxleGJveFxuQG1peGluIGJveCgkb3JpZW50OiBpbmxpbmUtYXhpcywgJHBhY2s6IHN0YXJ0LCAkYWxpZ246IHN0cmV0Y2gpIHtcbiAgQGluY2x1ZGUgZGlzcGxheS1ib3g7XG4gIEBpbmNsdWRlIGJveC1vcmllbnQoJG9yaWVudCk7XG4gIEBpbmNsdWRlIGJveC1wYWNrKCRwYWNrKTtcbiAgQGluY2x1ZGUgYm94LWFsaWduKCRhbGlnbik7XG59XG5cbkBtaXhpbiBkaXNwbGF5LWJveCB7XG4gIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICBkaXNwbGF5OiAtbW96LWJveDtcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7IC8vIElFIDEwXG4gIGRpc3BsYXk6IGJveDtcbn1cblxuQG1peGluIGJveC1vcmllbnQoJG9yaWVudDogaW5saW5lLWF4aXMpIHtcbi8vIGhvcml6b250YWx8dmVydGljYWx8aW5saW5lLWF4aXN8YmxvY2stYXhpc3xpbmhlcml0XG4gIEBpbmNsdWRlIHByZWZpeGVyKGJveC1vcmllbnQsICRvcmllbnQsIHdlYmtpdCBtb3ogc3BlYyk7XG59XG5cbkBtaXhpbiBib3gtcGFjaygkcGFjazogc3RhcnQpIHtcbi8vIHN0YXJ0fGVuZHxjZW50ZXJ8anVzdGlmeVxuICBAaW5jbHVkZSBwcmVmaXhlcihib3gtcGFjaywgJHBhY2ssIHdlYmtpdCBtb3ogc3BlYyk7XG4gIC1tcy1mbGV4LXBhY2s6ICRwYWNrOyAvLyBJRSAxMFxufVxuXG5AbWl4aW4gYm94LWFsaWduKCRhbGlnbjogc3RyZXRjaCkge1xuLy8gc3RhcnR8ZW5kfGNlbnRlcnxiYXNlbGluZXxzdHJldGNoXG4gIEBpbmNsdWRlIHByZWZpeGVyKGJveC1hbGlnbiwgJGFsaWduLCB3ZWJraXQgbW96IHNwZWMpO1xuICAtbXMtZmxleC1hbGlnbjogJGFsaWduOyAvLyBJRSAxMFxufVxuXG5AbWl4aW4gYm94LWRpcmVjdGlvbigkZGlyZWN0aW9uOiBub3JtYWwpIHtcbi8vIG5vcm1hbHxyZXZlcnNlfGluaGVyaXRcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYm94LWRpcmVjdGlvbiwgJGRpcmVjdGlvbiwgd2Via2l0IG1veiBzcGVjKTtcbiAgLW1zLWZsZXgtZGlyZWN0aW9uOiAkZGlyZWN0aW9uOyAvLyBJRSAxMFxufVxuXG5AbWl4aW4gYm94LWxpbmVzKCRsaW5lczogc2luZ2xlKSB7XG4vLyBzaW5nbGV8bXVsdGlwbGVcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYm94LWxpbmVzLCAkbGluZXMsIHdlYmtpdCBtb3ogc3BlYyk7XG59XG5cbkBtaXhpbiBib3gtb3JkaW5hbC1ncm91cCgkaW50OiAxKSB7XG4gIEBpbmNsdWRlIHByZWZpeGVyKGJveC1vcmRpbmFsLWdyb3VwLCAkaW50LCB3ZWJraXQgbW96IHNwZWMpO1xuICAtbXMtZmxleC1vcmRlcjogJGludDsgLy8gSUUgMTBcbn1cblxuQG1peGluIGJveC1mbGV4KCR2YWx1ZTogMCkge1xuICBAaW5jbHVkZSBwcmVmaXhlcihib3gtZmxleCwgJHZhbHVlLCB3ZWJraXQgbW96IHNwZWMpO1xuICAtbXMtZmxleDogJHZhbHVlOyAvLyBJRSAxMFxufVxuXG5AbWl4aW4gYm94LWZsZXgtZ3JvdXAoJGludDogMSkge1xuICBAaW5jbHVkZSBwcmVmaXhlcihib3gtZmxleC1ncm91cCwgJGludCwgd2Via2l0IG1veiBzcGVjKTtcbn1cblxuLy8gQ1NTMyBGbGV4aWJsZSBCb3ggTW9kZWwgYW5kIHByb3BlcnR5IGRlZmF1bHRzXG4vLyBVbmlmaWVkIGF0dHJpYnV0ZXMgZm9yIDIwMDksIDIwMTEsIGFuZCAyMDEyIGZsYXZvdXJzLlxuXG4vLyAyMDA5IC0gZGlzcGxheSAoYm94IHwgaW5saW5lLWJveClcbi8vIDIwMTEgLSBkaXNwbGF5IChmbGV4Ym94IHwgaW5saW5lLWZsZXhib3gpXG4vLyAyMDEyIC0gZGlzcGxheSAoZmxleCB8IGlubGluZS1mbGV4KVxuQG1peGluIGRpc3BsYXkoJHZhbHVlKSB7XG4vLyBmbGV4IHwgaW5saW5lLWZsZXhcbiAgQGlmICR2YWx1ZSA9PSBcImZsZXhcIiB7XG4gICAgLy8gMjAwOVxuICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICAgIGRpc3BsYXk6IC1tb3otYm94O1xuICAgIGRpc3BsYXk6IGJveDtcblxuICAgIC8vIDIwMTJcbiAgICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7XG4gICAgZGlzcGxheTogLW1vei1mbGV4O1xuICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94OyAvLyAyMDExIChJRSAxMClcbiAgICBkaXNwbGF5OiBmbGV4O1xuICB9IEBlbHNlIGlmICR2YWx1ZSA9PSBcImlubGluZS1mbGV4XCIge1xuICAgIGRpc3BsYXk6IC13ZWJraXQtaW5saW5lLWJveDtcbiAgICBkaXNwbGF5OiAtbW96LWlubGluZS1ib3g7XG4gICAgZGlzcGxheTogaW5saW5lLWJveDtcblxuICAgIGRpc3BsYXk6IC13ZWJraXQtaW5saW5lLWZsZXg7XG4gICAgZGlzcGxheTogLW1vei1pbmxpbmUtZmxleDtcbiAgICBkaXNwbGF5OiAtbXMtaW5saW5lLWZsZXhib3g7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIH0gQGVsc2Uge1xuICAgIGRpc3BsYXk6ICR2YWx1ZTtcbiAgfVxufVxuXG4vLyAyMDA5IC0gYm94LWZsZXggKGludGVnZXIpXG4vLyAyMDExIC0gZmxleCAoZGVjaW1hbCB8IHdpZHRoIGRlY2ltYWwpXG4vLyAyMDEyIC0gZmxleCAoaW50ZWdlciBpbnRlZ2VyIHdpZHRoKVxuQG1peGluIGZsZXgoJHZhbHVlKSB7XG5cbiAgLy8gR3JhYiBmbGV4LWdyb3cgZm9yIG9sZGVyIGJyb3dzZXJzLlxuICAkZmxleC1ncm93OiBudGgoJHZhbHVlLCAxKTtcblxuICAvLyAyMDA5XG4gIEBpbmNsdWRlIHByZWZpeGVyKGJveC1mbGV4LCAkZmxleC1ncm93LCB3ZWJraXQgbW96IHNwZWMpO1xuXG4gIC8vIDIwMTEgKElFIDEwKSwgMjAxMlxuICBAaW5jbHVkZSBwcmVmaXhlcihmbGV4LCAkdmFsdWUsIHdlYmtpdCBtb3ogbXMgc3BlYyk7XG59XG5cbi8vIDIwMDkgLSBib3gtb3JpZW50ICggaG9yaXpvbnRhbCB8IHZlcnRpY2FsIHwgaW5saW5lLWF4aXMgfCBibG9jay1heGlzKVxuLy8gICAgICAtIGJveC1kaXJlY3Rpb24gKG5vcm1hbCB8IHJldmVyc2UpXG4vLyAyMDExIC0gZmxleC1kaXJlY3Rpb24gKHJvdyB8IHJvdy1yZXZlcnNlIHwgY29sdW1uIHwgY29sdW1uLXJldmVyc2UpXG4vLyAyMDEyIC0gZmxleC1kaXJlY3Rpb24gKHJvdyB8IHJvdy1yZXZlcnNlIHwgY29sdW1uIHwgY29sdW1uLXJldmVyc2UpXG5AbWl4aW4gZmxleC1kaXJlY3Rpb24oJHZhbHVlOiByb3cpIHtcblxuICAvLyBBbHQgdmFsdWVzLlxuICAkdmFsdWUtMjAwOTogJHZhbHVlO1xuICAkdmFsdWUtMjAxMTogJHZhbHVlO1xuICAkZGlyZWN0aW9uOiBub3JtYWw7XG5cbiAgQGlmICR2YWx1ZSA9PSByb3cge1xuICAgICR2YWx1ZS0yMDA5OiBob3Jpem9udGFsO1xuICB9IEBlbHNlIGlmICR2YWx1ZSA9PSBcInJvdy1yZXZlcnNlXCIge1xuICAgICR2YWx1ZS0yMDA5OiBob3Jpem9udGFsO1xuICAgICRkaXJlY3Rpb246IHJldmVyc2U7XG4gIH0gQGVsc2UgaWYgJHZhbHVlID09IGNvbHVtbiB7XG4gICAgJHZhbHVlLTIwMDk6IHZlcnRpY2FsO1xuICB9IEBlbHNlIGlmICR2YWx1ZSA9PSBcImNvbHVtbi1yZXZlcnNlXCIge1xuICAgICR2YWx1ZS0yMDA5OiB2ZXJ0aWNhbDtcbiAgICAkZGlyZWN0aW9uOiByZXZlcnNlO1xuICB9XG5cbiAgLy8gMjAwOVxuICBAaW5jbHVkZSBwcmVmaXhlcihib3gtb3JpZW50LCAkdmFsdWUtMjAwOSwgd2Via2l0IG1veiBzcGVjKTtcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYm94LWRpcmVjdGlvbiwgJGRpcmVjdGlvbiwgd2Via2l0IG1veiBzcGVjKTtcblxuICAvLyAyMDEyXG4gIEBpbmNsdWRlIHByZWZpeGVyKGZsZXgtZGlyZWN0aW9uLCAkdmFsdWUsIHdlYmtpdCBtb3ogc3BlYyk7XG5cbiAgLy8gMjAxMSAoSUUgMTApXG4gIC1tcy1mbGV4LWRpcmVjdGlvbjogJHZhbHVlO1xufVxuXG4vLyAyMDA5IC0gYm94LWxpbmVzIChzaW5nbGUgfCBtdWx0aXBsZSlcbi8vIDIwMTEgLSBmbGV4LXdyYXAgKG5vd3JhcCB8IHdyYXAgfCB3cmFwLXJldmVyc2UpXG4vLyAyMDEyIC0gZmxleC13cmFwIChub3dyYXAgfCB3cmFwIHwgd3JhcC1yZXZlcnNlKVxuQG1peGluIGZsZXgtd3JhcCgkdmFsdWU6IG5vd3JhcCkge1xuICAvLyBBbHQgdmFsdWVzXG4gICRhbHQtdmFsdWU6ICR2YWx1ZTtcbiAgQGlmICR2YWx1ZSA9PSBub3dyYXAge1xuICAgICRhbHQtdmFsdWU6IHNpbmdsZTtcbiAgfSBAZWxzZSBpZiAkdmFsdWUgPT0gd3JhcCB7XG4gICAgJGFsdC12YWx1ZTogbXVsdGlwbGU7XG4gIH0gQGVsc2UgaWYgJHZhbHVlID09IFwid3JhcC1yZXZlcnNlXCIge1xuICAgICRhbHQtdmFsdWU6IG11bHRpcGxlO1xuICB9XG5cbiAgQGluY2x1ZGUgcHJlZml4ZXIoYm94LWxpbmVzLCAkYWx0LXZhbHVlLCB3ZWJraXQgbW96IHNwZWMpO1xuICBAaW5jbHVkZSBwcmVmaXhlcihmbGV4LXdyYXAsICR2YWx1ZSwgd2Via2l0IG1veiBtcyBzcGVjKTtcbn1cblxuLy8gMjAwOSAtIFRPRE86IHBhcnNlIHZhbHVlcyBpbnRvIGZsZXgtZGlyZWN0aW9uL2ZsZXgtd3JhcFxuLy8gMjAxMSAtIFRPRE86IHBhcnNlIHZhbHVlcyBpbnRvIGZsZXgtZGlyZWN0aW9uL2ZsZXgtd3JhcFxuLy8gMjAxMiAtIGZsZXgtZmxvdyAoZmxleC1kaXJlY3Rpb24gfHwgZmxleC13cmFwKVxuQG1peGluIGZsZXgtZmxvdygkdmFsdWUpIHtcbiAgQGluY2x1ZGUgcHJlZml4ZXIoZmxleC1mbG93LCAkdmFsdWUsIHdlYmtpdCBtb3ogc3BlYyk7XG59XG5cbi8vIDIwMDkgLSBib3gtb3JkaW5hbC1ncm91cCAoaW50ZWdlcilcbi8vIDIwMTEgLSBmbGV4LW9yZGVyIChpbnRlZ2VyKVxuLy8gMjAxMiAtIG9yZGVyIChpbnRlZ2VyKVxuQG1peGluIG9yZGVyKCRpbnQ6IDApIHtcbiAgLy8gMjAwOVxuICBAaW5jbHVkZSBwcmVmaXhlcihib3gtb3JkaW5hbC1ncm91cCwgJGludCwgd2Via2l0IG1veiBzcGVjKTtcblxuICAvLyAyMDEyXG4gIEBpbmNsdWRlIHByZWZpeGVyKG9yZGVyLCAkaW50LCB3ZWJraXQgbW96IHNwZWMpO1xuXG4gIC8vIDIwMTEgKElFIDEwKVxuICAtbXMtZmxleC1vcmRlcjogJGludDtcbn1cblxuLy8gMjAxMiAtIGZsZXgtZ3JvdyAobnVtYmVyKVxuQG1peGluIGZsZXgtZ3JvdygkbnVtYmVyOiAwKSB7XG4gIEBpbmNsdWRlIHByZWZpeGVyKGZsZXgtZ3JvdywgJG51bWJlciwgd2Via2l0IG1veiBzcGVjKTtcbiAgLW1zLWZsZXgtcG9zaXRpdmU6ICRudW1iZXI7XG59XG5cbi8vIDIwMTIgLSBmbGV4LXNocmluayAobnVtYmVyKVxuQG1peGluIGZsZXgtc2hyaW5rKCRudW1iZXI6IDEpIHtcbiAgQGluY2x1ZGUgcHJlZml4ZXIoZmxleC1zaHJpbmssICRudW1iZXIsIHdlYmtpdCBtb3ogc3BlYyk7XG4gIC1tcy1mbGV4LW5lZ2F0aXZlOiAkbnVtYmVyO1xufVxuXG4vLyAyMDEyIC0gZmxleC1iYXNpcyAobnVtYmVyKVxuQG1peGluIGZsZXgtYmFzaXMoJHdpZHRoOiBhdXRvKSB7XG4gIEBpbmNsdWRlIHByZWZpeGVyKGZsZXgtYmFzaXMsICR3aWR0aCwgd2Via2l0IG1veiBzcGVjKTtcbiAgLW1zLWZsZXgtcHJlZmVycmVkLXNpemU6ICR3aWR0aDtcbn1cblxuLy8gMjAwOSAtIGJveC1wYWNrIChzdGFydCB8IGVuZCB8IGNlbnRlciB8IGp1c3RpZnkpXG4vLyAyMDExIC0gZmxleC1wYWNrIChzdGFydCB8IGVuZCB8IGNlbnRlciB8IGp1c3RpZnkpXG4vLyAyMDEyIC0ganVzdGlmeS1jb250ZW50IChmbGV4LXN0YXJ0IHwgZmxleC1lbmQgfCBjZW50ZXIgfCBzcGFjZS1iZXR3ZWVuIHwgc3BhY2UtYXJvdW5kKVxuQG1peGluIGp1c3RpZnktY29udGVudCgkdmFsdWU6IGZsZXgtc3RhcnQpIHtcblxuICAvLyBBbHQgdmFsdWVzLlxuICAkYWx0LXZhbHVlOiAkdmFsdWU7XG4gIEBpZiAkdmFsdWUgPT0gXCJmbGV4LXN0YXJ0XCIge1xuICAgICRhbHQtdmFsdWU6IHN0YXJ0O1xuICB9IEBlbHNlIGlmICR2YWx1ZSA9PSBcImZsZXgtZW5kXCIge1xuICAgICRhbHQtdmFsdWU6IGVuZDtcbiAgfSBAZWxzZSBpZiAkdmFsdWUgPT0gXCJzcGFjZS1iZXR3ZWVuXCIge1xuICAgICRhbHQtdmFsdWU6IGp1c3RpZnk7XG4gIH0gQGVsc2UgaWYgJHZhbHVlID09IFwic3BhY2UtYXJvdW5kXCIge1xuICAgICRhbHQtdmFsdWU6IGRpc3RyaWJ1dGU7XG4gIH1cblxuICAvLyAyMDA5XG4gIEBpbmNsdWRlIHByZWZpeGVyKGJveC1wYWNrLCAkYWx0LXZhbHVlLCB3ZWJraXQgbW96IHNwZWMpO1xuXG4gIC8vIDIwMTJcbiAgQGluY2x1ZGUgcHJlZml4ZXIoanVzdGlmeS1jb250ZW50LCAkdmFsdWUsIHdlYmtpdCBtb3ogbXMgbyBzcGVjKTtcblxuICAvLyAyMDExIChJRSAxMClcbiAgLW1zLWZsZXgtcGFjazogJGFsdC12YWx1ZTtcbn1cblxuLy8gMjAwOSAtIGJveC1hbGlnbiAoc3RhcnQgfCBlbmQgfCBjZW50ZXIgfCBiYXNlbGluZSB8IHN0cmV0Y2gpXG4vLyAyMDExIC0gZmxleC1hbGlnbiAoc3RhcnQgfCBlbmQgfCBjZW50ZXIgfCBiYXNlbGluZSB8IHN0cmV0Y2gpXG4vLyAyMDEyIC0gYWxpZ24taXRlbXMgKGZsZXgtc3RhcnQgfCBmbGV4LWVuZCB8IGNlbnRlciB8IGJhc2VsaW5lIHwgc3RyZXRjaClcbkBtaXhpbiBhbGlnbi1pdGVtcygkdmFsdWU6IHN0cmV0Y2gpIHtcblxuICAkYWx0LXZhbHVlOiAkdmFsdWU7XG5cbiAgQGlmICR2YWx1ZSA9PSBcImZsZXgtc3RhcnRcIiB7XG4gICAgJGFsdC12YWx1ZTogc3RhcnQ7XG4gIH0gQGVsc2UgaWYgJHZhbHVlID09IFwiZmxleC1lbmRcIiB7XG4gICAgJGFsdC12YWx1ZTogZW5kO1xuICB9XG5cbiAgLy8gMjAwOVxuICBAaW5jbHVkZSBwcmVmaXhlcihib3gtYWxpZ24sICRhbHQtdmFsdWUsIHdlYmtpdCBtb3ogc3BlYyk7XG5cbiAgLy8gMjAxMlxuICBAaW5jbHVkZSBwcmVmaXhlcihhbGlnbi1pdGVtcywgJHZhbHVlLCB3ZWJraXQgbW96IG1zIG8gc3BlYyk7XG5cbiAgLy8gMjAxMSAoSUUgMTApXG4gIC1tcy1mbGV4LWFsaWduOiAkYWx0LXZhbHVlO1xufVxuXG4vLyAyMDExIC0gZmxleC1pdGVtLWFsaWduIChhdXRvIHwgc3RhcnQgfCBlbmQgfCBjZW50ZXIgfCBiYXNlbGluZSB8IHN0cmV0Y2gpXG4vLyAyMDEyIC0gYWxpZ24tc2VsZiAoYXV0byB8IGZsZXgtc3RhcnQgfCBmbGV4LWVuZCB8IGNlbnRlciB8IGJhc2VsaW5lIHwgc3RyZXRjaClcbkBtaXhpbiBhbGlnbi1zZWxmKCR2YWx1ZTogYXV0bykge1xuXG4gICR2YWx1ZS0yMDExOiAkdmFsdWU7XG4gIEBpZiAkdmFsdWUgPT0gXCJmbGV4LXN0YXJ0XCIge1xuICAgICR2YWx1ZS0yMDExOiBzdGFydDtcbiAgfSBAZWxzZSBpZiAkdmFsdWUgPT0gXCJmbGV4LWVuZFwiIHtcbiAgICAkdmFsdWUtMjAxMTogZW5kO1xuICB9XG5cbiAgLy8gMjAxMlxuICBAaW5jbHVkZSBwcmVmaXhlcihhbGlnbi1zZWxmLCAkdmFsdWUsIHdlYmtpdCBtb3ogc3BlYyk7XG5cbiAgLy8gMjAxMSAoSUUgMTApXG4gIC1tcy1mbGV4LWl0ZW0tYWxpZ246ICR2YWx1ZS0yMDExO1xufVxuXG4vLyAyMDExIC0gZmxleC1saW5lLXBhY2sgKHN0YXJ0IHwgZW5kIHwgY2VudGVyIHwganVzdGlmeSB8IGRpc3RyaWJ1dGUgfCBzdHJldGNoKVxuLy8gMjAxMiAtIGFsaWduLWNvbnRlbnQgKGZsZXgtc3RhcnQgfCBmbGV4LWVuZCB8IGNlbnRlciB8IHNwYWNlLWJldHdlZW4gfCBzcGFjZS1hcm91bmQgfCBzdHJldGNoKVxuQG1peGluIGFsaWduLWNvbnRlbnQoJHZhbHVlOiBzdHJldGNoKSB7XG5cbiAgJHZhbHVlLTIwMTE6ICR2YWx1ZTtcbiAgQGlmICR2YWx1ZSA9PSBcImZsZXgtc3RhcnRcIiB7XG4gICAgJHZhbHVlLTIwMTE6IHN0YXJ0O1xuICB9IEBlbHNlIGlmICR2YWx1ZSA9PSBcImZsZXgtZW5kXCIge1xuICAgICR2YWx1ZS0yMDExOiBlbmQ7XG4gIH0gQGVsc2UgaWYgJHZhbHVlID09IFwic3BhY2UtYmV0d2VlblwiIHtcbiAgICAkdmFsdWUtMjAxMToganVzdGlmeTtcbiAgfSBAZWxzZSBpZiAkdmFsdWUgPT0gXCJzcGFjZS1hcm91bmRcIiB7XG4gICAgJHZhbHVlLTIwMTE6IGRpc3RyaWJ1dGU7XG4gIH1cblxuICAvLyAyMDEyXG4gIEBpbmNsdWRlIHByZWZpeGVyKGFsaWduLWNvbnRlbnQsICR2YWx1ZSwgd2Via2l0IG1veiBzcGVjKTtcblxuICAvLyAyMDExIChJRSAxMClcbiAgLW1zLWZsZXgtbGluZS1wYWNrOiAkdmFsdWUtMjAxMTtcbn1cbiIsIkBtaXhpbiBmb250LWZhY2UoXG4gICRmb250LWZhbWlseSxcbiAgJGZpbGUtcGF0aCxcbiAgJHdlaWdodDogbm9ybWFsLFxuICAkc3R5bGU6IG5vcm1hbCxcbiAgJGFzc2V0LXBpcGVsaW5lOiAkYXNzZXQtcGlwZWxpbmUsXG4gICRmaWxlLWZvcm1hdHM6IGVvdCB3b2ZmMiB3b2ZmIHR0ZiBzdmcpIHtcblxuICAkZm9udC11cmwtcHJlZml4OiBmb250LXVybC1wcmVmaXhlcigkYXNzZXQtcGlwZWxpbmUpO1xuXG4gIEBmb250LWZhY2Uge1xuICAgIGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHk7XG4gICAgZm9udC1zdHlsZTogJHN0eWxlO1xuICAgIGZvbnQtd2VpZ2h0OiAkd2VpZ2h0O1xuXG4gICAgc3JjOiBmb250LXNvdXJjZS1kZWNsYXJhdGlvbihcbiAgICAgICRmb250LWZhbWlseSxcbiAgICAgICRmaWxlLXBhdGgsXG4gICAgICAkYXNzZXQtcGlwZWxpbmUsXG4gICAgICAkZmlsZS1mb3JtYXRzLFxuICAgICAgJGZvbnQtdXJsLXByZWZpeFxuICAgICk7XG4gIH1cbn1cbiIsIkBtaXhpbiBmb250LWZlYXR1cmUtc2V0dGluZ3MoJHNldHRpbmdzLi4uKSB7XG4gIEBpZiBsZW5ndGgoJHNldHRpbmdzKSA9PSAwIHsgJHNldHRpbmdzOiBub25lOyB9XG4gIEBpbmNsdWRlIHByZWZpeGVyKGZvbnQtZmVhdHVyZS1zZXR0aW5ncywgJHNldHRpbmdzLCB3ZWJraXQgbW96IG1zIHNwZWMpO1xufVxuIiwiLy8gSGlEUEkgbWl4aW4uIERlZmF1bHQgdmFsdWUgc2V0IHRvIDEuMyB0byB0YXJnZXQgR29vZ2xlIE5leHVzIDcgKGh0dHA6Ly9iamFuZ28uY29tL2FydGljbGVzL21pbi1kZXZpY2UtcGl4ZWwtcmF0aW8vKVxuQG1peGluIGhpZHBpKCRyYXRpbzogMS4zKSB7XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogJHJhdGlvKSxcbiAgb25seSBzY3JlZW4gYW5kIChtaW4tLW1vei1kZXZpY2UtcGl4ZWwtcmF0aW86ICRyYXRpbyksXG4gIG9ubHkgc2NyZWVuIGFuZCAoLW8tbWluLWRldmljZS1waXhlbC1yYXRpbzogI3skcmF0aW99LzEpLFxuICBvbmx5IHNjcmVlbiBhbmQgKG1pbi1yZXNvbHV0aW9uOiByb3VuZCgkcmF0aW8gKiA5NmRwaSkpLFxuICBvbmx5IHNjcmVlbiBhbmQgKG1pbi1yZXNvbHV0aW9uOiAkcmF0aW8gKiAxZHBweCkge1xuICAgIEBjb250ZW50O1xuICB9XG59XG4iLCJAbWl4aW4gaHlwaGVucygkaHlwaGVuYXRpb246IG5vbmUpIHtcbiAgLy8gbm9uZSB8IG1hbnVhbCB8IGF1dG9cbiAgQGluY2x1ZGUgcHJlZml4ZXIoaHlwaGVucywgJGh5cGhlbmF0aW9uLCB3ZWJraXQgbW96IG1zIHNwZWMpO1xufVxuIiwiQG1peGluIGltYWdlLXJlbmRlcmluZyAoJG1vZGU6YXV0bykge1xuXG4gIEBpZiAoJG1vZGUgPT0gY3Jpc3AtZWRnZXMpIHtcbiAgICAtbXMtaW50ZXJwb2xhdGlvbi1tb2RlOiBuZWFyZXN0LW5laWdoYm9yOyAvLyBJRTgrXG4gICAgaW1hZ2UtcmVuZGVyaW5nOiAtbW96LWNyaXNwLWVkZ2VzO1xuICAgIGltYWdlLXJlbmRlcmluZzogLW8tY3Jpc3AtZWRnZXM7XG4gICAgaW1hZ2UtcmVuZGVyaW5nOiAtd2Via2l0LW9wdGltaXplLWNvbnRyYXN0O1xuICAgIGltYWdlLXJlbmRlcmluZzogY3Jpc3AtZWRnZXM7XG4gIH1cblxuICBAZWxzZSB7XG4gICAgaW1hZ2UtcmVuZGVyaW5nOiAkbW9kZTtcbiAgfVxufVxuIiwiLy8gQWRkcyBrZXlmcmFtZXMgYmxvY2tzIGZvciBzdXBwb3J0ZWQgcHJlZml4ZXMsIHJlbW92aW5nIHJlZHVuZGFudCBwcmVmaXhlcyBpbiB0aGUgYmxvY2sncyBjb250ZW50XG5AbWl4aW4ga2V5ZnJhbWVzKCRuYW1lKSB7XG4gICRvcmlnaW5hbC1wcmVmaXgtZm9yLXdlYmtpdDogICAgJHByZWZpeC1mb3Itd2Via2l0O1xuICAkb3JpZ2luYWwtcHJlZml4LWZvci1tb3ppbGxhOiAgICRwcmVmaXgtZm9yLW1vemlsbGE7XG4gICRvcmlnaW5hbC1wcmVmaXgtZm9yLW1pY3Jvc29mdDogJHByZWZpeC1mb3ItbWljcm9zb2Z0O1xuICAkb3JpZ2luYWwtcHJlZml4LWZvci1vcGVyYTogICAgICRwcmVmaXgtZm9yLW9wZXJhO1xuICAkb3JpZ2luYWwtcHJlZml4LWZvci1zcGVjOiAgICAgICRwcmVmaXgtZm9yLXNwZWM7XG5cbiAgQGlmICRvcmlnaW5hbC1wcmVmaXgtZm9yLXdlYmtpdCB7XG4gICAgQGluY2x1ZGUgZGlzYWJsZS1wcmVmaXgtZm9yLWFsbCgpO1xuICAgICRwcmVmaXgtZm9yLXdlYmtpdDogdHJ1ZSAhZ2xvYmFsO1xuICAgIEAtd2Via2l0LWtleWZyYW1lcyAjeyRuYW1lfSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cblxuICBAaWYgJG9yaWdpbmFsLXByZWZpeC1mb3ItbW96aWxsYSB7XG4gICAgQGluY2x1ZGUgZGlzYWJsZS1wcmVmaXgtZm9yLWFsbCgpO1xuICAgICRwcmVmaXgtZm9yLW1vemlsbGE6IHRydWUgIWdsb2JhbDtcbiAgICBALW1vei1rZXlmcmFtZXMgI3skbmFtZX0ge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG5cbiAgJHByZWZpeC1mb3Itd2Via2l0OiAgICAkb3JpZ2luYWwtcHJlZml4LWZvci13ZWJraXQgICAgIWdsb2JhbDtcbiAgJHByZWZpeC1mb3ItbW96aWxsYTogICAkb3JpZ2luYWwtcHJlZml4LWZvci1tb3ppbGxhICAgIWdsb2JhbDtcbiAgJHByZWZpeC1mb3ItbWljcm9zb2Z0OiAkb3JpZ2luYWwtcHJlZml4LWZvci1taWNyb3NvZnQgIWdsb2JhbDtcbiAgJHByZWZpeC1mb3Itb3BlcmE6ICAgICAkb3JpZ2luYWwtcHJlZml4LWZvci1vcGVyYSAgICAgIWdsb2JhbDtcbiAgJHByZWZpeC1mb3Itc3BlYzogICAgICAkb3JpZ2luYWwtcHJlZml4LWZvci1zcGVjICAgICAgIWdsb2JhbDtcblxuICBAaWYgJG9yaWdpbmFsLXByZWZpeC1mb3Itc3BlYyB7XG4gICAgQGtleWZyYW1lcyAjeyRuYW1lfSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cbiIsIkBtaXhpbiBsaW5lYXItZ3JhZGllbnQoJHBvcywgJGcxLCAkZzI6IG51bGwsXG4gICAgICAgICAgICAgICAgICAgICAgICRnMzogbnVsbCwgJGc0OiBudWxsLFxuICAgICAgICAgICAgICAgICAgICAgICAkZzU6IG51bGwsICRnNjogbnVsbCxcbiAgICAgICAgICAgICAgICAgICAgICAgJGc3OiBudWxsLCAkZzg6IG51bGwsXG4gICAgICAgICAgICAgICAgICAgICAgICRnOTogbnVsbCwgJGcxMDogbnVsbCxcbiAgICAgICAgICAgICAgICAgICAgICAgJGZhbGxiYWNrOiBudWxsKSB7XG4gIC8vIERldGVjdCB3aGF0IHR5cGUgb2YgdmFsdWUgZXhpc3RzIGluICRwb3NcbiAgJHBvcy10eXBlOiB0eXBlLW9mKG50aCgkcG9zLCAxKSk7XG4gICRwb3Mtc3BlYzogbnVsbDtcbiAgJHBvcy1kZWdyZWU6IG51bGw7XG5cbiAgLy8gSWYgJHBvcyBpcyBtaXNzaW5nIGZyb20gbWl4aW4sIHJlYXNzaWduIHZhcnMgYW5kIGFkZCBkZWZhdWx0IHBvc2l0aW9uXG4gIEBpZiAoJHBvcy10eXBlID09IGNvbG9yKSBvciAobnRoKCRwb3MsIDEpID09IFwidHJhbnNwYXJlbnRcIikgIHtcbiAgICAkZzEwOiAkZzk7ICRnOTogJGc4OyAkZzg6ICRnNzsgJGc3OiAkZzY7ICRnNjogJGc1O1xuICAgICRnNTogJGc0OyAkZzQ6ICRnMzsgJGczOiAkZzI7ICRnMjogJGcxOyAkZzE6ICRwb3M7XG4gICAgJHBvczogbnVsbDtcbiAgfVxuXG4gIEBpZiAkcG9zIHtcbiAgICAkcG9zaXRpb25zOiBfbGluZWFyLXBvc2l0aW9ucy1wYXJzZXIoJHBvcyk7XG4gICAgJHBvcy1kZWdyZWU6IG50aCgkcG9zaXRpb25zLCAxKTtcbiAgICAkcG9zLXNwZWM6ICAgbnRoKCRwb3NpdGlvbnMsIDIpO1xuICB9XG5cbiAgJGZ1bGw6ICRnMSwgJGcyLCAkZzMsICRnNCwgJGc1LCAkZzYsICRnNywgJGc4LCAkZzksICRnMTA7XG5cbiAgLy8gU2V0ICRnMSBhcyB0aGUgZGVmYXVsdCBmYWxsYmFjayBjb2xvclxuICAkZmFsbGJhY2stY29sb3I6IG50aCgkZzEsIDEpO1xuXG4gIC8vIElmICRmYWxsYmFjayBpcyBhIGNvbG9yIHVzZSB0aGF0IGNvbG9yIGFzIHRoZSBmYWxsYmFjayBjb2xvclxuICBAaWYgKHR5cGUtb2YoJGZhbGxiYWNrKSA9PSBjb2xvcikgb3IgKCRmYWxsYmFjayA9PSBcInRyYW5zcGFyZW50XCIpIHtcbiAgICAkZmFsbGJhY2stY29sb3I6ICRmYWxsYmFjaztcbiAgfVxuXG4gIGJhY2tncm91bmQtY29sb3I6ICRmYWxsYmFjay1jb2xvcjtcbiAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQoJHBvcy1kZWdyZWUgJGZ1bGwpOyAvLyBTYWZhcmkgNS4xKywgQ2hyb21lXG4gIGJhY2tncm91bmQtaW1hZ2U6IHVucXVvdGUoXCJsaW5lYXItZ3JhZGllbnQoI3skcG9zLXNwZWN9I3skZnVsbH0pXCIpO1xufVxuIiwiQG1peGluIHBlcnNwZWN0aXZlKCRkZXB0aDogbm9uZSkge1xuICAvLyBub25lIHwgPGxlbmd0aD5cbiAgQGluY2x1ZGUgcHJlZml4ZXIocGVyc3BlY3RpdmUsICRkZXB0aCwgd2Via2l0IG1veiBzcGVjKTtcbn1cblxuQG1peGluIHBlcnNwZWN0aXZlLW9yaWdpbigkdmFsdWU6IDUwJSA1MCUpIHtcbiAgQGluY2x1ZGUgcHJlZml4ZXIocGVyc3BlY3RpdmUtb3JpZ2luLCAkdmFsdWUsIHdlYmtpdCBtb3ogc3BlYyk7XG59XG4iLCJAbWl4aW4gcGxhY2Vob2xkZXIge1xuICAkcGxhY2Vob2xkZXJzOiBcIjotd2Via2l0LWlucHV0XCIgXCI6LW1velwiIFwiLW1velwiIFwiLW1zLWlucHV0XCI7XG4gIEBlYWNoICRwbGFjZWhvbGRlciBpbiAkcGxhY2Vob2xkZXJzIHtcbiAgICAmOiN7JHBsYWNlaG9sZGVyfS1wbGFjZWhvbGRlciB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIFJlcXVpcmVzIFNhc3MgMy4xK1xuQG1peGluIHJhZGlhbC1ncmFkaWVudCgkZzEsICRnMixcbiAgICAgICAgICAgICAgICAgICAgICAgJGczOiBudWxsLCAkZzQ6IG51bGwsXG4gICAgICAgICAgICAgICAgICAgICAgICRnNTogbnVsbCwgJGc2OiBudWxsLFxuICAgICAgICAgICAgICAgICAgICAgICAkZzc6IG51bGwsICRnODogbnVsbCxcbiAgICAgICAgICAgICAgICAgICAgICAgJGc5OiBudWxsLCAkZzEwOiBudWxsLFxuICAgICAgICAgICAgICAgICAgICAgICAkcG9zOiBudWxsLFxuICAgICAgICAgICAgICAgICAgICAgICAkc2hhcGUtc2l6ZTogbnVsbCxcbiAgICAgICAgICAgICAgICAgICAgICAgJGZhbGxiYWNrOiBudWxsKSB7XG5cbiAgJGRhdGE6IF9yYWRpYWwtYXJnLXBhcnNlcigkZzEsICRnMiwgJHBvcywgJHNoYXBlLXNpemUpO1xuICAkZzE6ICBudGgoJGRhdGEsIDEpO1xuICAkZzI6ICBudGgoJGRhdGEsIDIpO1xuICAkcG9zOiBudGgoJGRhdGEsIDMpO1xuICAkc2hhcGUtc2l6ZTogbnRoKCRkYXRhLCA0KTtcblxuICAkZnVsbDogJGcxLCAkZzIsICRnMywgJGc0LCAkZzUsICRnNiwgJGc3LCAkZzgsICRnOSwgJGcxMDtcblxuICAvLyBTdHJpcCBkZXByZWNhdGVkIGNvdmVyL2NvbnRhaW4gZm9yIHNwZWNcbiAgJHNoYXBlLXNpemUtc3BlYzogX3NoYXBlLXNpemUtc3RyaXBwZXIoJHNoYXBlLXNpemUpO1xuXG4gIC8vIFNldCAkZzEgYXMgdGhlIGRlZmF1bHQgZmFsbGJhY2sgY29sb3JcbiAgJGZpcnN0LWNvbG9yOiBudGgoJGZ1bGwsIDEpO1xuICAkZmFsbGJhY2stY29sb3I6IG50aCgkZmlyc3QtY29sb3IsIDEpO1xuXG4gIEBpZiAodHlwZS1vZigkZmFsbGJhY2spID09IGNvbG9yKSBvciAoJGZhbGxiYWNrID09IFwidHJhbnNwYXJlbnRcIikge1xuICAgICRmYWxsYmFjay1jb2xvcjogJGZhbGxiYWNrO1xuICB9XG5cbiAgLy8gQWRkIENvbW1hcyBhbmQgc3BhY2VzXG4gICRzaGFwZS1zaXplOiBpZigkc2hhcGUtc2l6ZSwgXCIjeyRzaGFwZS1zaXplfSwgXCIsIG51bGwpO1xuICAkcG9zOiAgICAgICAgaWYoJHBvcywgXCIjeyRwb3N9LCBcIiwgbnVsbCk7XG4gICRwb3Mtc3BlYzogICBpZigkcG9zLCBcImF0ICN7JHBvc31cIiwgbnVsbCk7XG4gICRzaGFwZS1zaXplLXNwZWM6IGlmKCgkc2hhcGUtc2l6ZS1zcGVjICE9IFwiIFwiKSBhbmQgKCRwb3MgPT0gbnVsbCksIFwiI3skc2hhcGUtc2l6ZS1zcGVjfSwgXCIsIFwiI3skc2hhcGUtc2l6ZS1zcGVjfSBcIik7XG5cbiAgYmFja2dyb3VuZC1jb2xvcjogICRmYWxsYmFjay1jb2xvcjtcbiAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1yYWRpYWwtZ3JhZGllbnQoI3skcG9zfSN7JHNoYXBlLXNpemV9I3skZnVsbH0pO1xuICBiYWNrZ3JvdW5kLWltYWdlOiByYWRpYWwtZ3JhZGllbnQoI3skc2hhcGUtc2l6ZS1zcGVjfSN7JHBvcy1zcGVjfSN7JGZ1bGx9KTtcbn1cbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcclxuXHJcbi8vLyBPdXRwdXRzIHRoZSBzcGVjIGFuZCBwcmVmaXhlZCB2ZXJzaW9ucyBvZiB0aGUgYDo6c2VsZWN0aW9uYCBwc2V1ZG8tZWxlbWVudC5cclxuLy8vXHJcbi8vLyBAcGFyYW0ge0Jvb2x9ICRjdXJyZW50LXNlbGVjdG9yIFtmYWxzZV1cclxuLy8vICAgSWYgc2V0IHRvIGB0cnVlYCwgaXQgdGFrZXMgdGhlIGN1cnJlbnQgZWxlbWVudCBpbnRvIGNvbnNpZGVyYXRpb24uXHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXHJcbi8vLyAgIC5lbGVtZW50IHtcclxuLy8vICAgICBAaW5jbHVkZSBzZWxlY3Rpb24odHJ1ZSkge1xyXG4vLy8gICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmYmI1MjtcclxuLy8vICAgICB9XHJcbi8vLyAgIH1cclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBjc3MgLSBDU1MgT3V0cHV0XHJcbi8vLyAgIC5lbGVtZW50OjotbW96LXNlbGVjdGlvbiB7XHJcbi8vLyAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmYmI1MjtcclxuLy8vICAgfVxyXG4vLy9cclxuLy8vICAgLmVsZW1lbnQ6OnNlbGVjdGlvbiB7XHJcbi8vLyAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmYmI1MjtcclxuLy8vICAgfVxyXG5cclxuQG1peGluIHNlbGVjdGlvbigkY3VycmVudC1zZWxlY3RvcjogZmFsc2UpIHtcclxuICBAaWYgJGN1cnJlbnQtc2VsZWN0b3Ige1xyXG4gICAgJjo6LW1vei1zZWxlY3Rpb24ge1xyXG4gICAgICBAY29udGVudDtcclxuICAgIH1cclxuXHJcbiAgICAmOjpzZWxlY3Rpb24ge1xyXG4gICAgICBAY29udGVudDtcclxuICAgIH1cclxuICB9IEBlbHNlIHtcclxuICAgIDo6LW1vei1zZWxlY3Rpb24ge1xyXG4gICAgICBAY29udGVudDtcclxuICAgIH1cclxuXHJcbiAgICA6OnNlbGVjdGlvbiB7XHJcbiAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCJAbWl4aW4gdGV4dC1kZWNvcmF0aW9uKCR2YWx1ZSkge1xuLy8gPHRleHQtZGVjb3JhdGlvbi1saW5lPiB8fCA8dGV4dC1kZWNvcmF0aW9uLXN0eWxlPiB8fCA8dGV4dC1kZWNvcmF0aW9uLWNvbG9yPlxuICBAaW5jbHVkZSBwcmVmaXhlcih0ZXh0LWRlY29yYXRpb24sICR2YWx1ZSwgbW96KTtcbn1cblxuQG1peGluIHRleHQtZGVjb3JhdGlvbi1saW5lKCRsaW5lOiBub25lKSB7XG4vLyBub25lIHx8IHVuZGVybGluZSB8fCBvdmVybGluZSB8fCBsaW5lLXRocm91Z2hcbiAgQGluY2x1ZGUgcHJlZml4ZXIodGV4dC1kZWNvcmF0aW9uLWxpbmUsICRsaW5lLCBtb3opO1xufVxuXG5AbWl4aW4gdGV4dC1kZWNvcmF0aW9uLXN0eWxlKCRzdHlsZTogc29saWQpIHtcbi8vIHNvbGlkIHx8IGRvdWJsZSB8fCBkb3R0ZWQgfHwgZGFzaGVkIHx8IHdhdnlcbiAgQGluY2x1ZGUgcHJlZml4ZXIodGV4dC1kZWNvcmF0aW9uLXN0eWxlLCAkc3R5bGUsIG1veiB3ZWJraXQpO1xufVxuXG5AbWl4aW4gdGV4dC1kZWNvcmF0aW9uLWNvbG9yKCRjb2xvcjogY3VycmVudENvbG9yKSB7XG4vLyBjdXJyZW50Q29sb3IgfHwgPGNvbG9yPlxuICBAaW5jbHVkZSBwcmVmaXhlcih0ZXh0LWRlY29yYXRpb24tY29sb3IsICRjb2xvciwgbW96KTtcbn1cbiIsIkBtaXhpbiB0cmFuc2Zvcm0oJHByb3BlcnR5OiBub25lKSB7XG4gIC8vIG5vbmUgfCA8dHJhbnNmb3JtLWZ1bmN0aW9uPlxuICBAaW5jbHVkZSBwcmVmaXhlcih0cmFuc2Zvcm0sICRwcm9wZXJ0eSwgd2Via2l0IG1veiBtcyBvIHNwZWMpO1xufVxuXG5AbWl4aW4gdHJhbnNmb3JtLW9yaWdpbigkYXhlczogNTAlKSB7XG4gIC8vIHgtYXhpcyAtIGxlZnQgfCBjZW50ZXIgfCByaWdodCAgfCBsZW5ndGggfCAlXG4gIC8vIHktYXhpcyAtIHRvcCAgfCBjZW50ZXIgfCBib3R0b20gfCBsZW5ndGggfCAlXG4gIC8vIHotYXhpcyAtICAgICAgICAgICAgICAgICAgICAgICAgICBsZW5ndGhcbiAgQGluY2x1ZGUgcHJlZml4ZXIodHJhbnNmb3JtLW9yaWdpbiwgJGF4ZXMsIHdlYmtpdCBtb3ogbXMgbyBzcGVjKTtcbn1cblxuQG1peGluIHRyYW5zZm9ybS1zdHlsZSgkc3R5bGU6IGZsYXQpIHtcbiAgQGluY2x1ZGUgcHJlZml4ZXIodHJhbnNmb3JtLXN0eWxlLCAkc3R5bGUsIHdlYmtpdCBtb3ogbXMgbyBzcGVjKTtcbn1cbiIsIi8vIFNob3J0aGFuZCBtaXhpbi4gU3VwcG9ydHMgbXVsdGlwbGUgcGFyZW50aGVzZXMtZGVsaW1pbmF0ZWQgdmFsdWVzIGZvciBlYWNoIHZhcmlhYmxlLlxuLy8gRXhhbXBsZTogQGluY2x1ZGUgdHJhbnNpdGlvbiAoYWxsIDJzIGVhc2UtaW4tb3V0KTtcbi8vICAgICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24gKG9wYWNpdHkgMXMgZWFzZS1pbiAycywgd2lkdGggMnMgZWFzZS1vdXQpO1xuLy8gICAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbi1wcm9wZXJ0eSAodHJhbnNmb3JtLCBvcGFjaXR5KTtcblxuQG1peGluIHRyYW5zaXRpb24oJHByb3BlcnRpZXMuLi4pIHtcbiAgLy8gRml4IGZvciB2ZW5kb3ItcHJlZml4IHRyYW5zZm9ybSBwcm9wZXJ0eVxuICAkbmVlZHMtcHJlZml4ZXM6IGZhbHNlO1xuICAkd2Via2l0OiAoKTtcbiAgJG1vejogKCk7XG4gICRzcGVjOiAoKTtcblxuICAvLyBDcmVhdGUgbGlzdHMgZm9yIHZlbmRvci1wcmVmaXhlZCB0cmFuc2Zvcm1cbiAgQGVhY2ggJGxpc3QgaW4gJHByb3BlcnRpZXMge1xuICAgIEBpZiBudGgoJGxpc3QsIDEpID09IFwidHJhbnNmb3JtXCIge1xuICAgICAgJG5lZWRzLXByZWZpeGVzOiB0cnVlO1xuICAgICAgJGxpc3QxOiAtd2Via2l0LXRyYW5zZm9ybTtcbiAgICAgICRsaXN0MjogLW1vei10cmFuc2Zvcm07XG4gICAgICAkbGlzdDM6ICgpO1xuXG4gICAgICBAZWFjaCAkdmFyIGluICRsaXN0IHtcbiAgICAgICAgJGxpc3QzOiBqb2luKCRsaXN0MywgJHZhcik7XG5cbiAgICAgICAgQGlmICR2YXIgIT0gXCJ0cmFuc2Zvcm1cIiB7XG4gICAgICAgICAgJGxpc3QxOiBqb2luKCRsaXN0MSwgJHZhcik7XG4gICAgICAgICAgJGxpc3QyOiBqb2luKCRsaXN0MiwgJHZhcik7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJHdlYmtpdDogYXBwZW5kKCR3ZWJraXQsICRsaXN0MSk7XG4gICAgICAkbW96OiAgICBhcHBlbmQoJG1veiwgICAgJGxpc3QyKTtcbiAgICAgICRzcGVjOiAgIGFwcGVuZCgkc3BlYywgICAkbGlzdDMpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgJHdlYmtpdDogYXBwZW5kKCR3ZWJraXQsICRsaXN0LCBjb21tYSk7XG4gICAgICAkbW96OiAgICBhcHBlbmQoJG1veiwgICAgJGxpc3QsIGNvbW1hKTtcbiAgICAgICRzcGVjOiAgIGFwcGVuZCgkc3BlYywgICAkbGlzdCwgY29tbWEpO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAkbmVlZHMtcHJlZml4ZXMge1xuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogJHdlYmtpdDtcbiAgICAgICAtbW96LXRyYW5zaXRpb246ICRtb3o7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiAkc3BlYztcbiAgfSBAZWxzZSB7XG4gICAgQGlmIGxlbmd0aCgkcHJvcGVydGllcykgPj0gMSB7XG4gICAgICBAaW5jbHVkZSBwcmVmaXhlcih0cmFuc2l0aW9uLCAkcHJvcGVydGllcywgd2Via2l0IG1veiBzcGVjKTtcbiAgICB9IEBlbHNlIHtcbiAgICAgICRwcm9wZXJ0aWVzOiBhbGwgMC4xNXMgZWFzZS1vdXQgMHM7XG4gICAgICBAaW5jbHVkZSBwcmVmaXhlcih0cmFuc2l0aW9uLCAkcHJvcGVydGllcywgd2Via2l0IG1veiBzcGVjKTtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIHRyYW5zaXRpb24tcHJvcGVydHkoJHByb3BlcnRpZXMuLi4pIHtcbiAgLXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2l0aW9uLXByb3BlcnR5LW5hbWVzKCRwcm9wZXJ0aWVzLCBcIndlYmtpdFwiKTtcbiAgICAgLW1vei10cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2l0aW9uLXByb3BlcnR5LW5hbWVzKCRwcm9wZXJ0aWVzLCBcIm1velwiKTtcbiAgICAgICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2l0aW9uLXByb3BlcnR5LW5hbWVzKCRwcm9wZXJ0aWVzLCBmYWxzZSk7XG59XG5cbkBtaXhpbiB0cmFuc2l0aW9uLWR1cmF0aW9uKCR0aW1lcy4uLikge1xuICBAaW5jbHVkZSBwcmVmaXhlcih0cmFuc2l0aW9uLWR1cmF0aW9uLCAkdGltZXMsIHdlYmtpdCBtb3ogc3BlYyk7XG59XG5cbkBtaXhpbiB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbigkbW90aW9ucy4uLikge1xuICAvLyBlYXNlIHwgbGluZWFyIHwgZWFzZS1pbiB8IGVhc2Utb3V0IHwgZWFzZS1pbi1vdXQgfCBjdWJpYy1iZXppZXIoKVxuICBAaW5jbHVkZSBwcmVmaXhlcih0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbiwgJG1vdGlvbnMsIHdlYmtpdCBtb3ogc3BlYyk7XG59XG5cbkBtaXhpbiB0cmFuc2l0aW9uLWRlbGF5KCR0aW1lcy4uLikge1xuICBAaW5jbHVkZSBwcmVmaXhlcih0cmFuc2l0aW9uLWRlbGF5LCAkdGltZXMsIHdlYmtpdCBtb3ogc3BlYyk7XG59XG4iLCJAbWl4aW4gdXNlci1zZWxlY3QoJHZhbHVlOiBub25lKSB7XG4gIEBpbmNsdWRlIHByZWZpeGVyKHVzZXItc2VsZWN0LCAkdmFsdWUsIHdlYmtpdCBtb3ogbXMgc3BlYyk7XG59XG4iLCJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vLyBQcm92aWRlcyBhIHF1aWNrIG1ldGhvZCBmb3IgdGFyZ2V0aW5nIGBib3JkZXItY29sb3JgIG9uIHNwZWNpZmljIHNpZGVzIG9mIGEgYm94LiBVc2UgYSBgbnVsbGAgdmFsdWUgdG8g4oCcc2tpcOKAnSBhIHNpZGUuXG4vLy9cbi8vLyBAcGFyYW0ge0FyZ2xpc3R9ICR2YWxzXG4vLy8gICBMaXN0IG9mIGFyZ3VtZW50c1xuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIEBpbmNsdWRlIGJvcmRlci1jb2xvcigjYTYwYjU1ICM3NmNkOWMgbnVsbCAjZThhZTFhKTtcbi8vLyAgIH1cbi8vL1xuLy8vIEBleGFtcGxlIGNzcyAtIENTUyBPdXRwdXRcbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgYm9yZGVyLWxlZnQtY29sb3I6ICNlOGFlMWE7XG4vLy8gICAgIGJvcmRlci1yaWdodC1jb2xvcjogIzc2Y2Q5Yztcbi8vLyAgICAgYm9yZGVyLXRvcC1jb2xvcjogI2E2MGI1NTtcbi8vLyAgIH1cbi8vL1xuLy8vIEByZXF1aXJlIHttaXhpbn0gZGlyZWN0aW9uYWwtcHJvcGVydHlcbi8vL1xuLy8vIEBvdXRwdXQgYGJvcmRlci1jb2xvcmBcblxuQG1peGluIGJvcmRlci1jb2xvcigkdmFscy4uLikge1xuICBAaW5jbHVkZSBkaXJlY3Rpb25hbC1wcm9wZXJ0eShib3JkZXIsIGNvbG9yLCAkdmFscy4uLik7XG59XG4iLCJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vLyBQcm92aWRlcyBhIHF1aWNrIG1ldGhvZCBmb3IgdGFyZ2V0aW5nIGBib3JkZXItcmFkaXVzYCBvbiBib3RoIGNvcm5lcnMgb24gdGhlIHNpZGUgb2YgYSBib3guXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJHJhZGlpXG4vLy8gICBMaXN0IG9mIGFyZ3VtZW50c1xuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXG4vLy8gICAuZWxlbWVudC1vbmUge1xuLy8vICAgICBAaW5jbHVkZSBib3JkZXItdG9wLXJhZGl1cyg1cHgpO1xuLy8vICAgfVxuLy8vXG4vLy8gICAuZWxlbWVudC10d28ge1xuLy8vICAgICBAaW5jbHVkZSBib3JkZXItbGVmdC1yYWRpdXMoM3B4KTtcbi8vLyAgIH1cbi8vL1xuLy8vIEBleGFtcGxlIGNzcyAtIENTUyBPdXRwdXRcbi8vLyAgIC5lbGVtZW50LW9uZSB7XG4vLy8gICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDVweDtcbi8vLyAgICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDVweDtcbi8vLyAgIH1cbi8vL1xuLy8vICAgLmVsZW1lbnQtdHdvIHtcbi8vLyAgICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogM3B4O1xuLy8vICAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAzcHg7XG4vLy8gICB9XG4vLy9cbi8vLyBAb3V0cHV0IGBib3JkZXItcmFkaXVzYFxuXG5AbWl4aW4gYm9yZGVyLXRvcC1yYWRpdXMoJHJhZGlpKSB7XG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6ICRyYWRpaTtcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6ICRyYWRpaTtcbn1cblxuQG1peGluIGJvcmRlci1yaWdodC1yYWRpdXMoJHJhZGlpKSB7XG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAkcmFkaWk7XG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAkcmFkaWk7XG59XG5cbkBtaXhpbiBib3JkZXItYm90dG9tLXJhZGl1cygkcmFkaWkpIHtcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogJHJhZGlpO1xuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogJHJhZGlpO1xufVxuXG5AbWl4aW4gYm9yZGVyLWxlZnQtcmFkaXVzKCRyYWRpaSkge1xuICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAkcmFkaWk7XG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6ICRyYWRpaTtcbn1cbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8vIFByb3ZpZGVzIGEgcXVpY2sgbWV0aG9kIGZvciB0YXJnZXRpbmcgYGJvcmRlci1zdHlsZWAgb24gc3BlY2lmaWMgc2lkZXMgb2YgYSBib3guIFVzZSBhIGBudWxsYCB2YWx1ZSB0byDigJxza2lw4oCdIGEgc2lkZS5cbi8vL1xuLy8vIEBwYXJhbSB7QXJnbGlzdH0gJHZhbHNcbi8vLyAgIExpc3Qgb2YgYXJndW1lbnRzXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2Vcbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgQGluY2x1ZGUgYm9yZGVyLXN0eWxlKGRhc2hlZCBudWxsIHNvbGlkKTtcbi8vLyAgIH1cbi8vL1xuLy8vIEBleGFtcGxlIGNzcyAtIENTUyBPdXRwdXRcbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgYm9yZGVyLWJvdHRvbS1zdHlsZTogc29saWQ7XG4vLy8gICAgIGJvcmRlci10b3Atc3R5bGU6IGRhc2hlZDtcbi8vLyAgIH1cbi8vL1xuLy8vIEByZXF1aXJlIHttaXhpbn0gZGlyZWN0aW9uYWwtcHJvcGVydHlcbi8vL1xuLy8vIEBvdXRwdXQgYGJvcmRlci1zdHlsZWBcblxuQG1peGluIGJvcmRlci1zdHlsZSgkdmFscy4uLikge1xuICBAaW5jbHVkZSBkaXJlY3Rpb25hbC1wcm9wZXJ0eShib3JkZXIsIHN0eWxlLCAkdmFscy4uLik7XG59XG4iLCJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vLyBQcm92aWRlcyBhIHF1aWNrIG1ldGhvZCBmb3IgdGFyZ2V0aW5nIGBib3JkZXItd2lkdGhgIG9uIHNwZWNpZmljIHNpZGVzIG9mIGEgYm94LiBVc2UgYSBgbnVsbGAgdmFsdWUgdG8g4oCcc2tpcOKAnSBhIHNpZGUuXG4vLy9cbi8vLyBAcGFyYW0ge0FyZ2xpc3R9ICR2YWxzXG4vLy8gICBMaXN0IG9mIGFyZ3VtZW50c1xuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIEBpbmNsdWRlIGJvcmRlci13aWR0aCgxZW0gbnVsbCAyMHB4KTtcbi8vLyAgIH1cbi8vL1xuLy8vIEBleGFtcGxlIGNzcyAtIENTUyBPdXRwdXRcbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMjBweDtcbi8vLyAgICAgYm9yZGVyLXRvcC13aWR0aDogMWVtO1xuLy8vICAgfVxuLy8vXG4vLy8gQHJlcXVpcmUge21peGlufSBkaXJlY3Rpb25hbC1wcm9wZXJ0eVxuLy8vXG4vLy8gQG91dHB1dCBgYm9yZGVyLXdpZHRoYFxuXG5AbWl4aW4gYm9yZGVyLXdpZHRoKCR2YWxzLi4uKSB7XG4gIEBpbmNsdWRlIGRpcmVjdGlvbmFsLXByb3BlcnR5KGJvcmRlciwgd2lkdGgsICR2YWxzLi4uKTtcbn1cbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8vIEdlbmVyYXRlcyB2YXJpYWJsZXMgZm9yIGFsbCBidXR0b25zLiBQbGVhc2Ugbm90ZSB0aGF0IHlvdSBtdXN0IHVzZSBpbnRlcnBvbGF0aW9uIG9uIHRoZSB2YXJpYWJsZTogYCN7JGFsbC1idXR0b25zfWAuXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2Vcbi8vLyAgICN7JGFsbC1idXR0b25zfSB7XG4vLy8gICAgIGJhY2tncm91bmQtY29sb3I6ICNmMDA7XG4vLy8gICB9XG4vLy9cbi8vLyAgICN7JGFsbC1idXR0b25zLWZvY3VzfSxcbi8vLyAgICN7JGFsbC1idXR0b25zLWhvdmVyfSB7XG4vLy8gICAgIGJhY2tncm91bmQtY29sb3I6ICMwZjA7XG4vLy8gICB9XG4vLy9cbi8vLyAgICN7JGFsbC1idXR0b25zLWFjdGl2ZX0ge1xuLy8vICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDBmO1xuLy8vICAgfVxuLy8vXG4vLy8gQGV4YW1wbGUgY3NzIC0gQ1NTIE91dHB1dFxuLy8vICAgYnV0dG9uLFxuLy8vICAgaW5wdXRbdHlwZT1cImJ1dHRvblwiXSxcbi8vLyAgIGlucHV0W3R5cGU9XCJyZXNldFwiXSxcbi8vLyAgIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0ge1xuLy8vICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjAwO1xuLy8vICAgfVxuLy8vXG4vLy8gICBidXR0b246Zm9jdXMsXG4vLy8gICBpbnB1dFt0eXBlPVwiYnV0dG9uXCJdOmZvY3VzLFxuLy8vICAgaW5wdXRbdHlwZT1cInJlc2V0XCJdOmZvY3VzLFxuLy8vICAgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXTpmb2N1cyxcbi8vLyAgIGJ1dHRvbjpob3Zlcixcbi8vLyAgIGlucHV0W3R5cGU9XCJidXR0b25cIl06aG92ZXIsXG4vLy8gICBpbnB1dFt0eXBlPVwicmVzZXRcIl06aG92ZXIsXG4vLy8gICBpbnB1dFt0eXBlPVwic3VibWl0XCJdOmhvdmVyIHtcbi8vLyAgICAgYmFja2dyb3VuZC1jb2xvcjogIzBmMDtcbi8vLyAgIH1cbi8vL1xuLy8vICAgYnV0dG9uOmFjdGl2ZSxcbi8vLyAgIGlucHV0W3R5cGU9XCJidXR0b25cIl06YWN0aXZlLFxuLy8vICAgaW5wdXRbdHlwZT1cInJlc2V0XCJdOmFjdGl2ZSxcbi8vLyAgIGlucHV0W3R5cGU9XCJzdWJtaXRcIl06YWN0aXZlIHtcbi8vLyAgICAgYmFja2dyb3VuZC1jb2xvcjogIzAwZjtcbi8vLyAgIH1cbi8vL1xuLy8vIEByZXF1aXJlIGFzc2lnbi1pbnB1dHNcbi8vL1xuLy8vIEB0eXBlIExpc3Rcbi8vL1xuLy8vIEB0b2RvIFJlbW92ZSBkb3VibGUgYXNzaWduZWQgdmFyaWFibGVzIChMaW5lcyA1OeKAkzYyKSBpbiB2NS4wLjBcblxuJGJ1dHRvbnMtbGlzdDogJ2J1dHRvbicsXG4gICAgICAgICAgICAgICAnaW5wdXRbdHlwZT1cImJ1dHRvblwiXScsXG4gICAgICAgICAgICAgICAnaW5wdXRbdHlwZT1cInJlc2V0XCJdJyxcbiAgICAgICAgICAgICAgICdpbnB1dFt0eXBlPVwic3VibWl0XCJdJztcblxuJGFsbC1idXR0b25zOiAgICAgICAgYXNzaWduLWlucHV0cygkYnV0dG9ucy1saXN0KTtcbiRhbGwtYnV0dG9ucy1hY3RpdmU6IGFzc2lnbi1pbnB1dHMoJGJ1dHRvbnMtbGlzdCwgYWN0aXZlKTtcbiRhbGwtYnV0dG9ucy1mb2N1czogIGFzc2lnbi1pbnB1dHMoJGJ1dHRvbnMtbGlzdCwgZm9jdXMpO1xuJGFsbC1idXR0b25zLWhvdmVyOiAgYXNzaWduLWlucHV0cygkYnV0dG9ucy1saXN0LCBob3Zlcik7XG5cbiRhbGwtYnV0dG9uLWlucHV0czogICAgICAgICRhbGwtYnV0dG9ucztcbiRhbGwtYnV0dG9uLWlucHV0cy1hY3RpdmU6ICRhbGwtYnV0dG9ucy1hY3RpdmU7XG4kYWxsLWJ1dHRvbi1pbnB1dHMtZm9jdXM6ICAkYWxsLWJ1dHRvbnMtZm9jdXM7XG4kYWxsLWJ1dHRvbi1pbnB1dHMtaG92ZXI6ICAkYWxsLWJ1dHRvbnMtaG92ZXI7XG4iLCJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vLyBQcm92aWRlcyBhbiBlYXN5IHdheSB0byBpbmNsdWRlIGEgY2xlYXJmaXggZm9yIGNvbnRhaW5pbmcgZmxvYXRzLlxuLy8vXG4vLy8gQGxpbmsgaHR0cDovL2Nzc21vam8uY29tL2xhdGVzdF9uZXdfY2xlYXJmaXhfc29fZmFyL1xuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuLy8vICAgfVxuLy8vXG4vLy8gQGV4YW1wbGUgY3NzIC0gQ1NTIE91dHB1dFxuLy8vICAgLmVsZW1lbnQ6OmFmdGVyIHtcbi8vLyAgICAgY2xlYXI6IGJvdGg7XG4vLy8gICAgIGNvbnRlbnQ6IFwiXCI7XG4vLy8gICAgIGRpc3BsYXk6IHRhYmxlO1xuLy8vICAgfVxuXG5AbWl4aW4gY2xlYXJmaXgge1xuICAmOjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgfVxufVxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4vLy8gVHJ1bmNhdGVzIHRleHQgYW5kIGFkZHMgYW4gZWxsaXBzaXMgdG8gcmVwcmVzZW50IG92ZXJmbG93LlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR3aWR0aCBbMTAwJV1cbi8vLyAgIE1heC13aWR0aCBmb3IgdGhlIHN0cmluZyB0byByZXNwZWN0IGJlZm9yZSBiZWluZyB0cnVuY2F0ZWRcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBAaW5jbHVkZSBlbGxpcHNpcztcbi8vLyAgIH1cbi8vL1xuLy8vIEBleGFtcGxlIGNzcyAtIENTUyBPdXRwdXRcbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuLy8vICAgICBtYXgtd2lkdGg6IDEwMCU7XG4vLy8gICAgIG92ZXJmbG93OiBoaWRkZW47XG4vLy8gICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuLy8vICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuLy8vICAgICB3b3JkLXdyYXA6IG5vcm1hbDtcbi8vLyAgIH1cblxuQG1peGluIGVsbGlwc2lzKCR3aWR0aDogMTAwJSkge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1heC13aWR0aDogJHdpZHRoO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgd29yZC13cmFwOiBub3JtYWw7XG59XG4iLCJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vLyBHZW9yZ2lhIGZvbnQgc3RhY2suXG4vLy9cbi8vLyBAdHlwZSBMaXN0XG5cbiRnZW9yZ2lhOiBcIkdlb3JnaWFcIiwgXCJDYW1icmlhXCIsIFwiVGltZXMgTmV3IFJvbWFuXCIsIFwiVGltZXNcIiwgc2VyaWY7XG5cbi8vLyBIZWx2ZXRpY2EgZm9udCBzdGFjay5cbi8vL1xuLy8vIEB0eXBlIExpc3RcblxuJGhlbHZldGljYTogXCJIZWx2ZXRpY2EgTmV1ZVwiLCBcIkhlbHZldGljYVwiLCBcIlJvYm90b1wiLCBcIkFyaWFsXCIsIHNhbnMtc2VyaWY7XG5cbi8vLyBMdWNpZGEgR3JhbmRlIGZvbnQgc3RhY2suXG4vLy9cbi8vLyBAdHlwZSBMaXN0XG5cbiRsdWNpZGEtZ3JhbmRlOiBcIkx1Y2lkYSBHcmFuZGVcIiwgXCJUYWhvbWFcIiwgXCJWZXJkYW5hXCIsIFwiQXJpYWxcIiwgc2Fucy1zZXJpZjtcblxuLy8vIE1vbm9zcGFjZSBmb250IHN0YWNrLlxuLy8vXG4vLy8gQHR5cGUgTGlzdFxuXG4kbW9ub3NwYWNlOiBcIkJpdHN0cmVhbSBWZXJhIFNhbnMgTW9ub1wiLCBcIkNvbnNvbGFzXCIsIFwiQ291cmllclwiLCBtb25vc3BhY2U7XG5cbi8vLyBWZXJkYW5hIGZvbnQgc3RhY2suXG4vLy9cbi8vLyBAdHlwZSBMaXN0XG5cbiR2ZXJkYW5hOiBcIlZlcmRhbmFcIiwgXCJHZW5ldmFcIiwgc2Fucy1zZXJpZjtcbiIsIi8vLyBIaWRlcyB0aGUgdGV4dCBpbiBhbiBlbGVtZW50LCBjb21tb25seSB1c2VkIHRvIHNob3cgYW4gaW1hZ2UuIFNvbWUgZWxlbWVudHMgd2lsbCBuZWVkIGJsb2NrLWxldmVsIHN0eWxlcyBhcHBsaWVkLlxuLy8vXG4vLy8gQGxpbmsgaHR0cDovL3plbGRtYW4uY29tLzIwMTIvMDMvMDEvcmVwbGFjaW5nLXRoZS05OTk5cHgtaGFjay1uZXctaW1hZ2UtcmVwbGFjZW1lbnRcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBAaW5jbHVkZSBoaWRlLXRleHQ7XG4vLy8gICB9XG4vLy9cbi8vLyBAZXhhbXBsZSBjc3MgLSBDU1MgT3V0cHV0XG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIG92ZXJmbG93OiBoaWRkZW47XG4vLy8gICAgIHRleHQtaW5kZW50OiAxMDElO1xuLy8vICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuLy8vICAgfVxuLy8vXG4vLy8gQHRvZG8gUmVtb3ZlIGhlaWdodCBhcmd1bWVudCBpbiB2NS4wLjBcblxuQG1peGluIGhpZGUtdGV4dCgkaGVpZ2h0OiBudWxsKSB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRleHQtaW5kZW50OiAxMDElO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuXG4gIEBpZiAkaGVpZ2h0IHtcbiAgICBAd2FybiBcIlRoZSBgaGlkZS10ZXh0YCBtaXhpbiBoYXMgY2hhbmdlZCBhbmQgbm8gbG9uZ2VyIHJlcXVpcmVzIGEgaGVpZ2h0LiBUaGUgaGVpZ2h0IGFyZ3VtZW50IHdpbGwgbm8gbG9uZ2VyIGJlIGFjY2VwdGVkIGluIHY1LjAuMFwiO1xuICB9XG59XG4iLCJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vLyBQcm92aWRlcyBhIHF1aWNrIG1ldGhvZCBmb3IgdGFyZ2V0aW5nIGBtYXJnaW5gIG9uIHNwZWNpZmljIHNpZGVzIG9mIGEgYm94LiBVc2UgYSBgbnVsbGAgdmFsdWUgdG8g4oCcc2tpcOKAnSBhIHNpZGUuXG4vLy9cbi8vLyBAcGFyYW0ge0FyZ2xpc3R9ICR2YWxzXG4vLy8gICBMaXN0IG9mIGFyZ3VtZW50c1xuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIEBpbmNsdWRlIG1hcmdpbihudWxsIDEwcHggM2VtIDIwdmgpO1xuLy8vICAgfVxuLy8vXG4vLy8gQGV4YW1wbGUgY3NzIC0gQ1NTIE91dHB1dFxuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBtYXJnaW4tYm90dG9tOiAzZW07XG4vLy8gICAgIG1hcmdpbi1sZWZ0OiAyMHZoO1xuLy8vICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4vLy8gICB9XG4vLy9cbi8vLyBAcmVxdWlyZSB7bWl4aW59IGRpcmVjdGlvbmFsLXByb3BlcnR5XG4vLy9cbi8vLyBAb3V0cHV0IGBtYXJnaW5gXG5cbkBtaXhpbiBtYXJnaW4oJHZhbHMuLi4pIHtcbiAgQGluY2x1ZGUgZGlyZWN0aW9uYWwtcHJvcGVydHkobWFyZ2luLCBmYWxzZSwgJHZhbHMuLi4pO1xufVxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4vLy8gUHJvdmlkZXMgYSBxdWljayBtZXRob2QgZm9yIHRhcmdldGluZyBgcGFkZGluZ2Agb24gc3BlY2lmaWMgc2lkZXMgb2YgYSBib3guIFVzZSBhIGBudWxsYCB2YWx1ZSB0byDigJxza2lw4oCdIGEgc2lkZS5cbi8vL1xuLy8vIEBwYXJhbSB7QXJnbGlzdH0gJHZhbHNcbi8vLyAgIExpc3Qgb2YgYXJndW1lbnRzXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2Vcbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgQGluY2x1ZGUgcGFkZGluZygxMnZoIG51bGwgMTBweCA1JSk7XG4vLy8gICB9XG4vLy9cbi8vLyBAZXhhbXBsZSBjc3MgLSBDU1MgT3V0cHV0XG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIHBhZGRpbmctYm90dG9tOiAxMHB4O1xuLy8vICAgICBwYWRkaW5nLWxlZnQ6IDUlO1xuLy8vICAgICBwYWRkaW5nLXRvcDogMTJ2aDtcbi8vLyAgIH1cbi8vL1xuLy8vIEByZXF1aXJlIHttaXhpbn0gZGlyZWN0aW9uYWwtcHJvcGVydHlcbi8vL1xuLy8vIEBvdXRwdXQgYHBhZGRpbmdgXG5cbkBtaXhpbiBwYWRkaW5nKCR2YWxzLi4uKSB7XG4gIEBpbmNsdWRlIGRpcmVjdGlvbmFsLXByb3BlcnR5KHBhZGRpbmcsIGZhbHNlLCAkdmFscy4uLik7XG59XG4iLCJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vLyBQcm92aWRlcyBhIHF1aWNrIG1ldGhvZCBmb3Igc2V0dGluZyBhbiBlbGVtZW504oCZcyBwb3NpdGlvbi4gVXNlIGEgYG51bGxgIHZhbHVlIHRvIOKAnHNraXDigJ0gYSBzaWRlLlxuLy8vXG4vLy8gQHBhcmFtIHtQb3NpdGlvbn0gJHBvc2l0aW9uIFtyZWxhdGl2ZV1cbi8vLyAgIEEgQ1NTIHBvc2l0aW9uIHZhbHVlXG4vLy9cbi8vLyBAcGFyYW0ge0FyZ2xpc3R9ICRjb29yZGluYXRlcyBbbnVsbCBudWxsIG51bGwgbnVsbF1cbi8vLyAgIExpc3Qgb2YgdmFsdWVzIHRoYXQgY29ycmVzcG9uZCB0byB0aGUgNC12YWx1ZSBzeW50YXggZm9yIHRoZSBlZGdlcyBvZiBhIGJveFxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIEBpbmNsdWRlIHBvc2l0aW9uKGFic29sdXRlLCAwIG51bGwgbnVsbCAxMGVtKTtcbi8vLyAgIH1cbi8vL1xuLy8vIEBleGFtcGxlIGNzcyAtIENTUyBPdXRwdXRcbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgbGVmdDogMTBlbTtcbi8vLyAgICAgcG9zaXRpb246IGFic29sdXRlO1xuLy8vICAgICB0b3A6IDA7XG4vLy8gICB9XG4vLy9cbi8vLyBAcmVxdWlyZSB7ZnVuY3Rpb259IGlzLWxlbmd0aFxuLy8vIEByZXF1aXJlIHtmdW5jdGlvbn0gdW5wYWNrXG5cbkBtaXhpbiBwb3NpdGlvbigkcG9zaXRpb246IHJlbGF0aXZlLCAkY29vcmRpbmF0ZXM6IG51bGwgbnVsbCBudWxsIG51bGwpIHtcbiAgQGlmIHR5cGUtb2YoJHBvc2l0aW9uKSA9PSBsaXN0IHtcbiAgICAkY29vcmRpbmF0ZXM6ICRwb3NpdGlvbjtcbiAgICAkcG9zaXRpb246IHJlbGF0aXZlO1xuICB9XG5cbiAgJGNvb3JkaW5hdGVzOiB1bnBhY2soJGNvb3JkaW5hdGVzKTtcblxuICAkb2Zmc2V0czogKFxuICAgIHRvcDogICAgbnRoKCRjb29yZGluYXRlcywgMSksXG4gICAgcmlnaHQ6ICBudGgoJGNvb3JkaW5hdGVzLCAyKSxcbiAgICBib3R0b206IG50aCgkY29vcmRpbmF0ZXMsIDMpLFxuICAgIGxlZnQ6ICAgbnRoKCRjb29yZGluYXRlcywgNClcbiAgKTtcblxuICBwb3NpdGlvbjogJHBvc2l0aW9uO1xuXG4gIEBlYWNoICRvZmZzZXQsICR2YWx1ZSBpbiAkb2Zmc2V0cyB7XG4gICAgQGlmIGlzLWxlbmd0aCgkdmFsdWUpIHtcbiAgICAgICN7JG9mZnNldH06ICR2YWx1ZTtcbiAgICB9XG4gIH1cbn1cbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8vIEEgbWl4aW4gZm9yIGdlbmVyYXRpbmcgdmVuZG9yIHByZWZpeGVzIG9uIG5vbi1zdGFuZGFyZGl6ZWQgcHJvcGVydGllcy5cbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkcHJvcGVydHlcbi8vLyAgIFByb3BlcnR5IHRvIHByZWZpeFxuLy8vXG4vLy8gQHBhcmFtIHsqfSAkdmFsdWVcbi8vLyAgIFZhbHVlIHRvIHVzZVxuLy8vXG4vLy8gQHBhcmFtIHtMaXN0fSAkcHJlZml4ZXNcbi8vLyAgIFByZWZpeGVzIHRvIGRlZmluZVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIEBpbmNsdWRlIHByZWZpeGVyKGJvcmRlci1yYWRpdXMsIDEwcHgsIHdlYmtpdCBtcyBzcGVjKTtcbi8vLyAgIH1cbi8vL1xuLy8vIEBleGFtcGxlIGNzcyAtIENTUyBPdXRwdXRcbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiAxMHB4O1xuLy8vICAgICAtbW96LWJvcmRlci1yYWRpdXM6IDEwcHg7XG4vLy8gICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4vLy8gICB9XG4vLy9cbi8vLyBAcmVxdWlyZSB7dmFyaWFibGV9ICRwcmVmaXgtZm9yLXdlYmtpdFxuLy8vIEByZXF1aXJlIHt2YXJpYWJsZX0gJHByZWZpeC1mb3ItbW96aWxsYVxuLy8vIEByZXF1aXJlIHt2YXJpYWJsZX0gJHByZWZpeC1mb3ItbWljcm9zb2Z0XG4vLy8gQHJlcXVpcmUge3ZhcmlhYmxlfSAkcHJlZml4LWZvci1vcGVyYVxuLy8vIEByZXF1aXJlIHt2YXJpYWJsZX0gJHByZWZpeC1mb3Itc3BlY1xuXG5AbWl4aW4gcHJlZml4ZXIoJHByb3BlcnR5LCAkdmFsdWUsICRwcmVmaXhlcykge1xuICBAZWFjaCAkcHJlZml4IGluICRwcmVmaXhlcyB7XG4gICAgQGlmICRwcmVmaXggPT0gd2Via2l0IHtcbiAgICAgIEBpZiAkcHJlZml4LWZvci13ZWJraXQge1xuICAgICAgICAtd2Via2l0LSN7JHByb3BlcnR5fTogJHZhbHVlO1xuICAgICAgfVxuICAgIH0gQGVsc2UgaWYgJHByZWZpeCA9PSBtb3oge1xuICAgICAgQGlmICRwcmVmaXgtZm9yLW1vemlsbGEge1xuICAgICAgICAtbW96LSN7JHByb3BlcnR5fTogJHZhbHVlO1xuICAgICAgfVxuICAgIH0gQGVsc2UgaWYgJHByZWZpeCA9PSBtcyB7XG4gICAgICBAaWYgJHByZWZpeC1mb3ItbWljcm9zb2Z0IHtcbiAgICAgICAgLW1zLSN7JHByb3BlcnR5fTogJHZhbHVlO1xuICAgICAgfVxuICAgIH0gQGVsc2UgaWYgJHByZWZpeCA9PSBvIHtcbiAgICAgIEBpZiAkcHJlZml4LWZvci1vcGVyYSB7XG4gICAgICAgIC1vLSN7JHByb3BlcnR5fTogJHZhbHVlO1xuICAgICAgfVxuICAgIH0gQGVsc2UgaWYgJHByZWZpeCA9PSBzcGVjIHtcbiAgICAgIEBpZiAkcHJlZml4LWZvci1zcGVjIHtcbiAgICAgICAgI3skcHJvcGVydHl9OiAkdmFsdWU7XG4gICAgICB9XG4gICAgfSBAZWxzZSAge1xuICAgICAgQHdhcm4gXCJVbnJlY29nbml6ZWQgcHJlZml4OiAjeyRwcmVmaXh9XCI7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBkaXNhYmxlLXByZWZpeC1mb3ItYWxsKCkge1xuICAkcHJlZml4LWZvci13ZWJraXQ6ICAgIGZhbHNlICFnbG9iYWw7XG4gICRwcmVmaXgtZm9yLW1vemlsbGE6ICAgZmFsc2UgIWdsb2JhbDtcbiAgJHByZWZpeC1mb3ItbWljcm9zb2Z0OiBmYWxzZSAhZ2xvYmFsO1xuICAkcHJlZml4LWZvci1vcGVyYTogICAgIGZhbHNlICFnbG9iYWw7XG4gICRwcmVmaXgtZm9yLXNwZWM6ICAgICAgZmFsc2UgIWdsb2JhbDtcbn1cbiIsIkBtaXhpbiByZXRpbmEtaW1hZ2UoJGZpbGVuYW1lLCAkYmFja2dyb3VuZC1zaXplLCAkZXh0ZW5zaW9uOiBwbmcsICRyZXRpbmEtZmlsZW5hbWU6IG51bGwsICRyZXRpbmEtc3VmZml4OiBfMngsICRhc3NldC1waXBlbGluZTogJGFzc2V0LXBpcGVsaW5lKSB7XG4gIEBpZiAkYXNzZXQtcGlwZWxpbmUge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IGltYWdlLXVybChcIiN7JGZpbGVuYW1lfS4jeyRleHRlbnNpb259XCIpO1xuICB9IEBlbHNlIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiAgICAgICB1cmwoXCIjeyRmaWxlbmFtZX0uI3skZXh0ZW5zaW9ufVwiKTtcbiAgfVxuXG4gIEBpbmNsdWRlIGhpZHBpIHtcbiAgICBAaWYgJGFzc2V0LXBpcGVsaW5lIHtcbiAgICAgIEBpZiAkcmV0aW5hLWZpbGVuYW1lIHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogaW1hZ2UtdXJsKFwiI3skcmV0aW5hLWZpbGVuYW1lfS4jeyRleHRlbnNpb259XCIpO1xuICAgICAgfSBAZWxzZSB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IGltYWdlLXVybChcIiN7JGZpbGVuYW1lfSN7JHJldGluYS1zdWZmaXh9LiN7JGV4dGVuc2lvbn1cIik7XG4gICAgICB9XG4gICAgfSBAZWxzZSB7XG4gICAgICBAaWYgJHJldGluYS1maWxlbmFtZSB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIiN7JHJldGluYS1maWxlbmFtZX0uI3skZXh0ZW5zaW9ufVwiKTtcbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIjeyRmaWxlbmFtZX0jeyRyZXRpbmEtc3VmZml4fS4jeyRleHRlbnNpb259XCIpO1xuICAgICAgfVxuICAgIH1cblxuICAgIGJhY2tncm91bmQtc2l6ZTogJGJhY2tncm91bmQtc2l6ZTtcbiAgfVxufVxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4vLy8gU2V0cyB0aGUgYHdpZHRoYCBhbmQgYGhlaWdodGAgb2YgdGhlIGVsZW1lbnQuXG4vLy9cbi8vLyBAcGFyYW0ge0xpc3R9ICRzaXplXG4vLy8gICBBIGxpc3Qgb2YgYXQgbW9zdCAyIHNpemUgdmFsdWVzLlxuLy8vXG4vLy8gICBJZiB0aGVyZSBpcyBvbmx5IGEgc2luZ2xlIHZhbHVlIGluIGAkc2l6ZWAgaXQgaXMgdXNlZCBmb3IgYm90aCB3aWR0aCBhbmQgaGVpZ2h0LiBBbGwgdW5pdHMgYXJlIHN1cHBvcnRlZC5cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxuLy8vICAgLmZpcnN0LWVsZW1lbnQge1xuLy8vICAgICBAaW5jbHVkZSBzaXplKDJlbSk7XG4vLy8gICB9XG4vLy9cbi8vLyAgIC5zZWNvbmQtZWxlbWVudCB7XG4vLy8gICAgIEBpbmNsdWRlIHNpemUoYXV0byAxMGVtKTtcbi8vLyAgIH1cbi8vL1xuLy8vIEBleGFtcGxlIGNzcyAtIENTUyBPdXRwdXRcbi8vLyAgIC5maXJzdC1lbGVtZW50IHtcbi8vLyAgICAgd2lkdGg6IDJlbTtcbi8vLyAgICAgaGVpZ2h0OiAyZW07XG4vLy8gICB9XG4vLy9cbi8vLyAgIC5zZWNvbmQtZWxlbWVudCB7XG4vLy8gICAgIHdpZHRoOiBhdXRvO1xuLy8vICAgICBoZWlnaHQ6IDEwZW07XG4vLy8gICB9XG4vLy9cbi8vLyBAdG9kbyBSZWZhY3RvciBpbiA1LjAuMCB0byB1c2UgYSBjb21tYS1zZXBhcmF0ZWQgYXJndW1lbnRcblxuQG1peGluIHNpemUoJHZhbHVlKSB7XG4gICR3aWR0aDogbnRoKCR2YWx1ZSwgMSk7XG4gICRoZWlnaHQ6ICR3aWR0aDtcblxuICBAaWYgbGVuZ3RoKCR2YWx1ZSkgPiAxIHtcbiAgICAkaGVpZ2h0OiBudGgoJHZhbHVlLCAyKTtcbiAgfVxuXG4gIEBpZiBpcy1zaXplKCRoZWlnaHQpIHtcbiAgICBoZWlnaHQ6ICRoZWlnaHQ7XG4gIH0gQGVsc2Uge1xuICAgIEB3YXJuIFwiYCN7JGhlaWdodH1gIGlzIG5vdCBhIHZhbGlkIGxlbmd0aCBmb3IgdGhlIGAkaGVpZ2h0YCBwYXJhbWV0ZXIgaW4gdGhlIGBzaXplYCBtaXhpbi5cIjtcbiAgfVxuXG4gIEBpZiBpcy1zaXplKCR3aWR0aCkge1xuICAgIHdpZHRoOiAkd2lkdGg7XG4gIH0gQGVsc2Uge1xuICAgIEB3YXJuIFwiYCN7JHdpZHRofWAgaXMgbm90IGEgdmFsaWQgbGVuZ3RoIGZvciB0aGUgYCR3aWR0aGAgcGFyYW1ldGVyIGluIHRoZSBgc2l6ZWAgbWl4aW4uXCI7XG4gIH1cbn1cbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8vIEdlbmVyYXRlcyB2YXJpYWJsZXMgZm9yIGFsbCB0ZXh0LWJhc2VkIGlucHV0cy4gUGxlYXNlIG5vdGUgdGhhdCB5b3UgbXVzdCB1c2UgaW50ZXJwb2xhdGlvbiBvbiB0aGUgdmFyaWFibGU6IGAjeyRhbGwtdGV4dC1pbnB1dHN9YC5cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxuLy8vICAgI3skYWxsLXRleHQtaW5wdXRzfSB7XG4vLy8gICAgIGJvcmRlcjogMXB4IHNvbGlkICNmMDA7XG4vLy8gICB9XG4vLy9cbi8vLyAgICN7JGFsbC10ZXh0LWlucHV0cy1mb2N1c30sXG4vLy8gICAjeyRhbGwtdGV4dC1pbnB1dHMtaG92ZXJ9IHtcbi8vLyAgICAgYm9yZGVyOiAxcHggc29saWQgIzBmMDtcbi8vLyAgIH1cbi8vL1xuLy8vICAgI3skYWxsLXRleHQtaW5wdXRzLWFjdGl2ZX0ge1xuLy8vICAgICBib3JkZXI6IDFweCBzb2xpZCAjMDBmO1xuLy8vICAgfVxuLy8vXG4vLy8gQGV4YW1wbGUgY3NzIC0gQ1NTIE91dHB1dFxuLy8vICAgaW5wdXRbdHlwZT1cImNvbG9yXCJdLFxuLy8vICAgaW5wdXRbdHlwZT1cImRhdGVcIl0sXG4vLy8gICBpbnB1dFt0eXBlPVwiZGF0ZXRpbWVcIl0sXG4vLy8gICBpbnB1dFt0eXBlPVwiZGF0ZXRpbWUtbG9jYWxcIl0sXG4vLy8gICBpbnB1dFt0eXBlPVwiZW1haWxcIl0sXG4vLy8gICBpbnB1dFt0eXBlPVwibW9udGhcIl0sXG4vLy8gICBpbnB1dFt0eXBlPVwibnVtYmVyXCJdLFxuLy8vICAgaW5wdXRbdHlwZT1cInBhc3N3b3JkXCJdLFxuLy8vICAgaW5wdXRbdHlwZT1cInNlYXJjaFwiXSxcbi8vLyAgIGlucHV0W3R5cGU9XCJ0ZWxcIl0sXG4vLy8gICBpbnB1dFt0eXBlPVwidGV4dFwiXSxcbi8vLyAgIGlucHV0W3R5cGU9XCJ0aW1lXCJdLFxuLy8vICAgaW5wdXRbdHlwZT1cInVybFwiXSxcbi8vLyAgIGlucHV0W3R5cGU9XCJ3ZWVrXCJdLFxuLy8vICAgdGV4dGFyZWEge1xuLy8vICAgICBib3JkZXI6IDFweCBzb2xpZCAjZjAwO1xuLy8vICAgfVxuLy8vXG4vLy8gICBpbnB1dFt0eXBlPVwiY29sb3JcIl06Zm9jdXMsXG4vLy8gICBpbnB1dFt0eXBlPVwiZGF0ZVwiXTpmb2N1cyxcbi8vLyAgIGlucHV0W3R5cGU9XCJkYXRldGltZVwiXTpmb2N1cyxcbi8vLyAgIGlucHV0W3R5cGU9XCJkYXRldGltZS1sb2NhbFwiXTpmb2N1cyxcbi8vLyAgIGlucHV0W3R5cGU9XCJlbWFpbFwiXTpmb2N1cyxcbi8vLyAgIGlucHV0W3R5cGU9XCJtb250aFwiXTpmb2N1cyxcbi8vLyAgIGlucHV0W3R5cGU9XCJudW1iZXJcIl06Zm9jdXMsXG4vLy8gICBpbnB1dFt0eXBlPVwicGFzc3dvcmRcIl06Zm9jdXMsXG4vLy8gICBpbnB1dFt0eXBlPVwic2VhcmNoXCJdOmZvY3VzLFxuLy8vICAgaW5wdXRbdHlwZT1cInRlbFwiXTpmb2N1cyxcbi8vLyAgIGlucHV0W3R5cGU9XCJ0ZXh0XCJdOmZvY3VzLFxuLy8vICAgaW5wdXRbdHlwZT1cInRpbWVcIl06Zm9jdXMsXG4vLy8gICBpbnB1dFt0eXBlPVwidXJsXCJdOmZvY3VzLFxuLy8vICAgaW5wdXRbdHlwZT1cIndlZWtcIl06Zm9jdXMsXG4vLy8gICB0ZXh0YXJlYTpmb2N1cyxcbi8vLyAgIGlucHV0W3R5cGU9XCJjb2xvclwiXTpob3Zlcixcbi8vLyAgIGlucHV0W3R5cGU9XCJkYXRlXCJdOmhvdmVyLFxuLy8vICAgaW5wdXRbdHlwZT1cImRhdGV0aW1lXCJdOmhvdmVyLFxuLy8vICAgaW5wdXRbdHlwZT1cImRhdGV0aW1lLWxvY2FsXCJdOmhvdmVyLFxuLy8vICAgaW5wdXRbdHlwZT1cImVtYWlsXCJdOmhvdmVyLFxuLy8vICAgaW5wdXRbdHlwZT1cIm1vbnRoXCJdOmhvdmVyLFxuLy8vICAgaW5wdXRbdHlwZT1cIm51bWJlclwiXTpob3Zlcixcbi8vLyAgIGlucHV0W3R5cGU9XCJwYXNzd29yZFwiXTpob3Zlcixcbi8vLyAgIGlucHV0W3R5cGU9XCJzZWFyY2hcIl06aG92ZXIsXG4vLy8gICBpbnB1dFt0eXBlPVwidGVsXCJdOmhvdmVyLFxuLy8vICAgaW5wdXRbdHlwZT1cInRleHRcIl06aG92ZXIsXG4vLy8gICBpbnB1dFt0eXBlPVwidGltZVwiXTpob3Zlcixcbi8vLyAgIGlucHV0W3R5cGU9XCJ1cmxcIl06aG92ZXIsXG4vLy8gICBpbnB1dFt0eXBlPVwid2Vla1wiXTpob3Zlcixcbi8vLyAgIHRleHRhcmVhOmhvdmVyIHtcbi8vLyAgICAgYm9yZGVyOiAxcHggc29saWQgIzBmMDtcbi8vLyAgIH1cbi8vL1xuLy8vICAgaW5wdXRbdHlwZT1cImNvbG9yXCJdOmFjdGl2ZSxcbi8vLyAgIGlucHV0W3R5cGU9XCJkYXRlXCJdOmFjdGl2ZSxcbi8vLyAgIGlucHV0W3R5cGU9XCJkYXRldGltZVwiXTphY3RpdmUsXG4vLy8gICBpbnB1dFt0eXBlPVwiZGF0ZXRpbWUtbG9jYWxcIl06YWN0aXZlLFxuLy8vICAgaW5wdXRbdHlwZT1cImVtYWlsXCJdOmFjdGl2ZSxcbi8vLyAgIGlucHV0W3R5cGU9XCJtb250aFwiXTphY3RpdmUsXG4vLy8gICBpbnB1dFt0eXBlPVwibnVtYmVyXCJdOmFjdGl2ZSxcbi8vLyAgIGlucHV0W3R5cGU9XCJwYXNzd29yZFwiXTphY3RpdmUsXG4vLy8gICBpbnB1dFt0eXBlPVwic2VhcmNoXCJdOmFjdGl2ZSxcbi8vLyAgIGlucHV0W3R5cGU9XCJ0ZWxcIl06YWN0aXZlLFxuLy8vICAgaW5wdXRbdHlwZT1cInRleHRcIl06YWN0aXZlLFxuLy8vICAgaW5wdXRbdHlwZT1cInRpbWVcIl06YWN0aXZlLFxuLy8vICAgaW5wdXRbdHlwZT1cInVybFwiXTphY3RpdmUsXG4vLy8gICBpbnB1dFt0eXBlPVwid2Vla1wiXTphY3RpdmUsXG4vLy8gICB0ZXh0YXJlYTphY3RpdmUge1xuLy8vICAgICBib3JkZXI6IDFweCBzb2xpZCAjMDBmO1xuLy8vICAgfVxuLy8vXG4vLy8gQHJlcXVpcmUgYXNzaWduLWlucHV0c1xuLy8vXG4vLy8gQHR5cGUgTGlzdFxuXG4kdGV4dC1pbnB1dHMtbGlzdDogJ2lucHV0W3R5cGU9XCJjb2xvclwiXScsXG4gICAgICAgICAgICAgICAgICAgJ2lucHV0W3R5cGU9XCJkYXRlXCJdJyxcbiAgICAgICAgICAgICAgICAgICAnaW5wdXRbdHlwZT1cImRhdGV0aW1lXCJdJyxcbiAgICAgICAgICAgICAgICAgICAnaW5wdXRbdHlwZT1cImRhdGV0aW1lLWxvY2FsXCJdJyxcbiAgICAgICAgICAgICAgICAgICAnaW5wdXRbdHlwZT1cImVtYWlsXCJdJyxcbiAgICAgICAgICAgICAgICAgICAnaW5wdXRbdHlwZT1cIm1vbnRoXCJdJyxcbiAgICAgICAgICAgICAgICAgICAnaW5wdXRbdHlwZT1cIm51bWJlclwiXScsXG4gICAgICAgICAgICAgICAgICAgJ2lucHV0W3R5cGU9XCJwYXNzd29yZFwiXScsXG4gICAgICAgICAgICAgICAgICAgJ2lucHV0W3R5cGU9XCJzZWFyY2hcIl0nLFxuICAgICAgICAgICAgICAgICAgICdpbnB1dFt0eXBlPVwidGVsXCJdJyxcbiAgICAgICAgICAgICAgICAgICAnaW5wdXRbdHlwZT1cInRleHRcIl0nLFxuICAgICAgICAgICAgICAgICAgICdpbnB1dFt0eXBlPVwidGltZVwiXScsXG4gICAgICAgICAgICAgICAgICAgJ2lucHV0W3R5cGU9XCJ1cmxcIl0nLFxuICAgICAgICAgICAgICAgICAgICdpbnB1dFt0eXBlPVwid2Vla1wiXScsXG4gICAgICAgICAgICAgICAgICAgJ2lucHV0Om5vdChbdHlwZV0pJyxcbiAgICAgICAgICAgICAgICAgICAndGV4dGFyZWEnO1xuXG4kYWxsLXRleHQtaW5wdXRzOiAgICAgICAgYXNzaWduLWlucHV0cygkdGV4dC1pbnB1dHMtbGlzdCk7XG4kYWxsLXRleHQtaW5wdXRzLWFjdGl2ZTogYXNzaWduLWlucHV0cygkdGV4dC1pbnB1dHMtbGlzdCwgYWN0aXZlKTtcbiRhbGwtdGV4dC1pbnB1dHMtZm9jdXM6ICBhc3NpZ24taW5wdXRzKCR0ZXh0LWlucHV0cy1saXN0LCBmb2N1cyk7XG4kYWxsLXRleHQtaW5wdXRzLWhvdmVyOiAgYXNzaWduLWlucHV0cygkdGV4dC1pbnB1dHMtbGlzdCwgaG92ZXIpO1xuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4vLy8gQ1NTIGN1YmljLWJlemllciB0aW1pbmcgZnVuY3Rpb25zLiBUaW1pbmcgZnVuY3Rpb25zIGNvdXJ0ZXN5IG9mIGpxdWVyeS5lYXNpZSAoZ2l0aHViLmNvbS9qYXVraWEvZWFzaWUpXG4vLy9cbi8vLyBUaW1pbmcgZnVuY3Rpb25zIGFyZSB0aGUgc2FtZSBhcyBkZW1vZWQgaGVyZTogaHR0cDovL2pxdWVyeXVpLmNvbS9yZXNvdXJjZXMvZGVtb3MvZWZmZWN0L2Vhc2luZy5odG1sXG4vLy9cbi8vLyBAdHlwZSBjdWJpYy1iZXppZXJcblxuJGVhc2UtaW4tcXVhZDogICAgICBjdWJpYy1iZXppZXIoMC41NTAsICAwLjA4NSwgMC42ODAsIDAuNTMwKTtcbiRlYXNlLWluLWN1YmljOiAgICAgY3ViaWMtYmV6aWVyKDAuNTUwLCAgMC4wNTUsIDAuNjc1LCAwLjE5MCk7XG4kZWFzZS1pbi1xdWFydDogICAgIGN1YmljLWJlemllcigwLjg5NSwgIDAuMDMwLCAwLjY4NSwgMC4yMjApO1xuJGVhc2UtaW4tcXVpbnQ6ICAgICBjdWJpYy1iZXppZXIoMC43NTUsICAwLjA1MCwgMC44NTUsIDAuMDYwKTtcbiRlYXNlLWluLXNpbmU6ICAgICAgY3ViaWMtYmV6aWVyKDAuNDcwLCAgMC4wMDAsIDAuNzQ1LCAwLjcxNSk7XG4kZWFzZS1pbi1leHBvOiAgICAgIGN1YmljLWJlemllcigwLjk1MCwgIDAuMDUwLCAwLjc5NSwgMC4wMzUpO1xuJGVhc2UtaW4tY2lyYzogICAgICBjdWJpYy1iZXppZXIoMC42MDAsICAwLjA0MCwgMC45ODAsIDAuMzM1KTtcbiRlYXNlLWluLWJhY2s6ICAgICAgY3ViaWMtYmV6aWVyKDAuNjAwLCAtMC4yODAsIDAuNzM1LCAwLjA0NSk7XG5cbiRlYXNlLW91dC1xdWFkOiAgICAgY3ViaWMtYmV6aWVyKDAuMjUwLCAgMC40NjAsIDAuNDUwLCAwLjk0MCk7XG4kZWFzZS1vdXQtY3ViaWM6ICAgIGN1YmljLWJlemllcigwLjIxNSwgIDAuNjEwLCAwLjM1NSwgMS4wMDApO1xuJGVhc2Utb3V0LXF1YXJ0OiAgICBjdWJpYy1iZXppZXIoMC4xNjUsICAwLjg0MCwgMC40NDAsIDEuMDAwKTtcbiRlYXNlLW91dC1xdWludDogICAgY3ViaWMtYmV6aWVyKDAuMjMwLCAgMS4wMDAsIDAuMzIwLCAxLjAwMCk7XG4kZWFzZS1vdXQtc2luZTogICAgIGN1YmljLWJlemllcigwLjM5MCwgIDAuNTc1LCAwLjU2NSwgMS4wMDApO1xuJGVhc2Utb3V0LWV4cG86ICAgICBjdWJpYy1iZXppZXIoMC4xOTAsICAxLjAwMCwgMC4yMjAsIDEuMDAwKTtcbiRlYXNlLW91dC1jaXJjOiAgICAgY3ViaWMtYmV6aWVyKDAuMDc1LCAgMC44MjAsIDAuMTY1LCAxLjAwMCk7XG4kZWFzZS1vdXQtYmFjazogICAgIGN1YmljLWJlemllcigwLjE3NSwgIDAuODg1LCAwLjMyMCwgMS4yNzUpO1xuXG4kZWFzZS1pbi1vdXQtcXVhZDogIGN1YmljLWJlemllcigwLjQ1NSwgIDAuMDMwLCAwLjUxNSwgMC45NTUpO1xuJGVhc2UtaW4tb3V0LWN1YmljOiBjdWJpYy1iZXppZXIoMC42NDUsICAwLjA0NSwgMC4zNTUsIDEuMDAwKTtcbiRlYXNlLWluLW91dC1xdWFydDogY3ViaWMtYmV6aWVyKDAuNzcwLCAgMC4wMDAsIDAuMTc1LCAxLjAwMCk7XG4kZWFzZS1pbi1vdXQtcXVpbnQ6IGN1YmljLWJlemllcigwLjg2MCwgIDAuMDAwLCAwLjA3MCwgMS4wMDApO1xuJGVhc2UtaW4tb3V0LXNpbmU6ICBjdWJpYy1iZXppZXIoMC40NDUsICAwLjA1MCwgMC41NTAsIDAuOTUwKTtcbiRlYXNlLWluLW91dC1leHBvOiAgY3ViaWMtYmV6aWVyKDEuMDAwLCAgMC4wMDAsIDAuMDAwLCAxLjAwMCk7XG4kZWFzZS1pbi1vdXQtY2lyYzogIGN1YmljLWJlemllcigwLjc4NSwgIDAuMTM1LCAwLjE1MCwgMC44NjApO1xuJGVhc2UtaW4tb3V0LWJhY2s6ICBjdWJpYy1iZXppZXIoMC42ODAsIC0wLjU1MCwgMC4yNjUsIDEuNTUwKTtcbiIsIkBtaXhpbiB0cmlhbmdsZSgkc2l6ZSwgJGNvbG9yLCAkZGlyZWN0aW9uKSB7XG4gICR3aWR0aDogbnRoKCRzaXplLCAxKTtcbiAgJGhlaWdodDogbnRoKCRzaXplLCBsZW5ndGgoJHNpemUpKTtcbiAgJGZvcmVncm91bmQtY29sb3I6IG50aCgkY29sb3IsIDEpO1xuICAkYmFja2dyb3VuZC1jb2xvcjogaWYobGVuZ3RoKCRjb2xvcikgPT0gMiwgbnRoKCRjb2xvciwgMiksIHRyYW5zcGFyZW50KTtcbiAgaGVpZ2h0OiAwO1xuICB3aWR0aDogMDtcblxuICBAaWYgKCRkaXJlY3Rpb24gPT0gdXApIG9yICgkZGlyZWN0aW9uID09IGRvd24pIG9yICgkZGlyZWN0aW9uID09IHJpZ2h0KSBvciAoJGRpcmVjdGlvbiA9PSBsZWZ0KSB7XG4gICAgJHdpZHRoOiAkd2lkdGggLyAyO1xuICAgICRoZWlnaHQ6IGlmKGxlbmd0aCgkc2l6ZSkgPiAxLCAkaGVpZ2h0LCAkaGVpZ2h0LzIpO1xuXG4gICAgQGlmICRkaXJlY3Rpb24gPT0gdXAge1xuICAgICAgYm9yZGVyLWJvdHRvbTogJGhlaWdodCBzb2xpZCAkZm9yZWdyb3VuZC1jb2xvcjtcbiAgICAgIGJvcmRlci1sZWZ0OiAkd2lkdGggc29saWQgJGJhY2tncm91bmQtY29sb3I7XG4gICAgICBib3JkZXItcmlnaHQ6ICR3aWR0aCBzb2xpZCAkYmFja2dyb3VuZC1jb2xvcjtcbiAgICB9IEBlbHNlIGlmICRkaXJlY3Rpb24gPT0gcmlnaHQge1xuICAgICAgYm9yZGVyLWJvdHRvbTogJHdpZHRoIHNvbGlkICRiYWNrZ3JvdW5kLWNvbG9yO1xuICAgICAgYm9yZGVyLWxlZnQ6ICRoZWlnaHQgc29saWQgJGZvcmVncm91bmQtY29sb3I7XG4gICAgICBib3JkZXItdG9wOiAkd2lkdGggc29saWQgJGJhY2tncm91bmQtY29sb3I7XG4gICAgfSBAZWxzZSBpZiAkZGlyZWN0aW9uID09IGRvd24ge1xuICAgICAgYm9yZGVyLWxlZnQ6ICR3aWR0aCBzb2xpZCAkYmFja2dyb3VuZC1jb2xvcjtcbiAgICAgIGJvcmRlci1yaWdodDogJHdpZHRoIHNvbGlkICRiYWNrZ3JvdW5kLWNvbG9yO1xuICAgICAgYm9yZGVyLXRvcDogJGhlaWdodCBzb2xpZCAkZm9yZWdyb3VuZC1jb2xvcjtcbiAgICB9IEBlbHNlIGlmICRkaXJlY3Rpb24gPT0gbGVmdCB7XG4gICAgICBib3JkZXItYm90dG9tOiAkd2lkdGggc29saWQgJGJhY2tncm91bmQtY29sb3I7XG4gICAgICBib3JkZXItcmlnaHQ6ICRoZWlnaHQgc29saWQgJGZvcmVncm91bmQtY29sb3I7XG4gICAgICBib3JkZXItdG9wOiAkd2lkdGggc29saWQgJGJhY2tncm91bmQtY29sb3I7XG4gICAgfVxuICB9IEBlbHNlIGlmICgkZGlyZWN0aW9uID09IHVwLXJpZ2h0KSBvciAoJGRpcmVjdGlvbiA9PSB1cC1sZWZ0KSB7XG4gICAgYm9yZGVyLXRvcDogJGhlaWdodCBzb2xpZCAkZm9yZWdyb3VuZC1jb2xvcjtcblxuICAgIEBpZiAkZGlyZWN0aW9uID09IHVwLXJpZ2h0IHtcbiAgICAgIGJvcmRlci1sZWZ0OiAgJHdpZHRoIHNvbGlkICRiYWNrZ3JvdW5kLWNvbG9yO1xuICAgIH0gQGVsc2UgaWYgJGRpcmVjdGlvbiA9PSB1cC1sZWZ0IHtcbiAgICAgIGJvcmRlci1yaWdodDogJHdpZHRoIHNvbGlkICRiYWNrZ3JvdW5kLWNvbG9yO1xuICAgIH1cbiAgfSBAZWxzZSBpZiAoJGRpcmVjdGlvbiA9PSBkb3duLXJpZ2h0KSBvciAoJGRpcmVjdGlvbiA9PSBkb3duLWxlZnQpIHtcbiAgICBib3JkZXItYm90dG9tOiAkaGVpZ2h0IHNvbGlkICRmb3JlZ3JvdW5kLWNvbG9yO1xuXG4gICAgQGlmICRkaXJlY3Rpb24gPT0gZG93bi1yaWdodCB7XG4gICAgICBib3JkZXItbGVmdDogICR3aWR0aCBzb2xpZCAkYmFja2dyb3VuZC1jb2xvcjtcbiAgICB9IEBlbHNlIGlmICRkaXJlY3Rpb24gPT0gZG93bi1sZWZ0IHtcbiAgICAgIGJvcmRlci1yaWdodDogJHdpZHRoIHNvbGlkICRiYWNrZ3JvdW5kLWNvbG9yO1xuICAgIH1cbiAgfSBAZWxzZSBpZiAoJGRpcmVjdGlvbiA9PSBpbnNldC11cCkge1xuICAgIGJvcmRlci1jb2xvcjogJGJhY2tncm91bmQtY29sb3IgJGJhY2tncm91bmQtY29sb3IgJGZvcmVncm91bmQtY29sb3I7XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItd2lkdGg6ICRoZWlnaHQgJHdpZHRoO1xuICB9IEBlbHNlIGlmICgkZGlyZWN0aW9uID09IGluc2V0LWRvd24pIHtcbiAgICBib3JkZXItY29sb3I6ICRmb3JlZ3JvdW5kLWNvbG9yICRiYWNrZ3JvdW5kLWNvbG9yICRiYWNrZ3JvdW5kLWNvbG9yO1xuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLXdpZHRoOiAkaGVpZ2h0ICR3aWR0aDtcbiAgfSBAZWxzZSBpZiAoJGRpcmVjdGlvbiA9PSBpbnNldC1yaWdodCkge1xuICAgIGJvcmRlci1jb2xvcjogJGJhY2tncm91bmQtY29sb3IgJGJhY2tncm91bmQtY29sb3IgJGJhY2tncm91bmQtY29sb3IgJGZvcmVncm91bmQtY29sb3I7XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItd2lkdGg6ICR3aWR0aCAkaGVpZ2h0O1xuICB9IEBlbHNlIGlmICgkZGlyZWN0aW9uID09IGluc2V0LWxlZnQpIHtcbiAgICBib3JkZXItY29sb3I6ICRiYWNrZ3JvdW5kLWNvbG9yICRmb3JlZ3JvdW5kLWNvbG9yICRiYWNrZ3JvdW5kLWNvbG9yICRiYWNrZ3JvdW5kLWNvbG9yO1xuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLXdpZHRoOiAkd2lkdGggJGhlaWdodDtcbiAgfVxufVxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4vLy8gUHJvdmlkZXMgYW4gZWFzeSB3YXkgdG8gY2hhbmdlIHRoZSBgd29yZC13cmFwYCBwcm9wZXJ0eS5cbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkd3JhcCBbYnJlYWstd29yZF1cbi8vLyAgIFZhbHVlIGZvciB0aGUgYHdvcmQtYnJlYWtgIHByb3BlcnR5LlxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXG4vLy8gICAud3JhcHBlciB7XG4vLy8gICAgIEBpbmNsdWRlIHdvcmQtd3JhcChicmVhay13b3JkKTtcbi8vLyAgIH1cbi8vL1xuLy8vIEBleGFtcGxlIGNzcyAtIENTUyBPdXRwdXRcbi8vLyAgIC53cmFwcGVyIHtcbi8vLyAgICAgb3ZlcmZsb3ctd3JhcDogYnJlYWstd29yZDtcbi8vLyAgICAgd29yZC1icmVhazogYnJlYWstYWxsO1xuLy8vICAgICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG4vLy8gICB9XG5cbkBtaXhpbiB3b3JkLXdyYXAoJHdyYXA6IGJyZWFrLXdvcmQpIHtcbiAgb3ZlcmZsb3ctd3JhcDogJHdyYXA7XG4gIHdvcmQtd3JhcDogJHdyYXA7XG5cbiAgQGlmICR3cmFwID09IGJyZWFrLXdvcmQge1xuICAgIHdvcmQtYnJlYWs6IGJyZWFrLWFsbDtcbiAgfSBAZWxzZSB7XG4gICAgd29yZC1icmVhazogJHdyYXA7XG4gIH1cbn1cbiIsIi8vIFRoZSBmb2xsb3dpbmcgZmVhdHVyZXMgaGF2ZSBiZWVuIGRlcHJlY2F0ZWQgYW5kIHdpbGwgYmUgcmVtb3ZlZCBpbiB0aGUgbmV4dCBNQUpPUiB2ZXJzaW9uIHJlbGVhc2VcblxuQG1peGluIGlubGluZS1ibG9jayB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcblxuICBAd2FybiBcIlRoZSBpbmxpbmUtYmxvY2sgbWl4aW4gaXMgZGVwcmVjYXRlZCBhbmQgd2lsbCBiZSByZW1vdmVkIGluIHRoZSBuZXh0IG1ham9yIHZlcnNpb24gcmVsZWFzZVwiO1xufVxuXG5AbWl4aW4gYnV0dG9uICgkc3R5bGU6IHNpbXBsZSwgJGJhc2UtY29sb3I6ICM0Mjk0ZjAsICR0ZXh0LXNpemU6IGluaGVyaXQsICRwYWRkaW5nOiA3cHggMThweCkge1xuXG4gIEBpZiB0eXBlLW9mKCRzdHlsZSkgPT0gc3RyaW5nIGFuZCB0eXBlLW9mKCRiYXNlLWNvbG9yKSA9PSBjb2xvciB7XG4gICAgQGluY2x1ZGUgYnV0dG9uc3R5bGUoJHN0eWxlLCAkYmFzZS1jb2xvciwgJHRleHQtc2l6ZSwgJHBhZGRpbmcpO1xuICB9XG5cbiAgQGlmIHR5cGUtb2YoJHN0eWxlKSA9PSBzdHJpbmcgYW5kIHR5cGUtb2YoJGJhc2UtY29sb3IpID09IG51bWJlciB7XG4gICAgJHBhZGRpbmc6ICR0ZXh0LXNpemU7XG4gICAgJHRleHQtc2l6ZTogJGJhc2UtY29sb3I7XG4gICAgJGJhc2UtY29sb3I6ICM0Mjk0ZjA7XG5cbiAgICBAaWYgJHBhZGRpbmcgPT0gaW5oZXJpdCB7XG4gICAgICAkcGFkZGluZzogN3B4IDE4cHg7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnV0dG9uc3R5bGUoJHN0eWxlLCAkYmFzZS1jb2xvciwgJHRleHQtc2l6ZSwgJHBhZGRpbmcpO1xuICB9XG5cbiAgQGlmIHR5cGUtb2YoJHN0eWxlKSA9PSBjb2xvciBhbmQgdHlwZS1vZigkYmFzZS1jb2xvcikgPT0gY29sb3Ige1xuICAgICRiYXNlLWNvbG9yOiAkc3R5bGU7XG4gICAgJHN0eWxlOiBzaW1wbGU7XG4gICAgQGluY2x1ZGUgYnV0dG9uc3R5bGUoJHN0eWxlLCAkYmFzZS1jb2xvciwgJHRleHQtc2l6ZSwgJHBhZGRpbmcpO1xuICB9XG5cbiAgQGlmIHR5cGUtb2YoJHN0eWxlKSA9PSBjb2xvciBhbmQgdHlwZS1vZigkYmFzZS1jb2xvcikgPT0gbnVtYmVyIHtcbiAgICAkcGFkZGluZzogJHRleHQtc2l6ZTtcbiAgICAkdGV4dC1zaXplOiAkYmFzZS1jb2xvcjtcbiAgICAkYmFzZS1jb2xvcjogJHN0eWxlO1xuICAgICRzdHlsZTogc2ltcGxlO1xuXG4gICAgQGlmICRwYWRkaW5nID09IGluaGVyaXQge1xuICAgICAgJHBhZGRpbmc6IDdweCAxOHB4O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJ1dHRvbnN0eWxlKCRzdHlsZSwgJGJhc2UtY29sb3IsICR0ZXh0LXNpemUsICRwYWRkaW5nKTtcbiAgfVxuXG4gIEBpZiB0eXBlLW9mKCRzdHlsZSkgPT0gbnVtYmVyIHtcbiAgICAkcGFkZGluZzogJGJhc2UtY29sb3I7XG4gICAgJHRleHQtc2l6ZTogJHN0eWxlO1xuICAgICRiYXNlLWNvbG9yOiAjNDI5NGYwO1xuICAgICRzdHlsZTogc2ltcGxlO1xuXG4gICAgQGlmICRwYWRkaW5nID09ICM0Mjk0ZjAge1xuICAgICAgJHBhZGRpbmc6IDdweCAxOHB4O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJ1dHRvbnN0eWxlKCRzdHlsZSwgJGJhc2UtY29sb3IsICR0ZXh0LXNpemUsICRwYWRkaW5nKTtcbiAgfVxuXG4gICY6ZGlzYWJsZWQge1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gICAgb3BhY2l0eTogMC41O1xuICB9XG5cbiAgQHdhcm4gXCJUaGUgYnV0dG9uIG1peGluIGlzIGRlcHJlY2F0ZWQgYW5kIHdpbGwgYmUgcmVtb3ZlZCBpbiB0aGUgbmV4dCBtYWpvciB2ZXJzaW9uIHJlbGVhc2VcIjtcbn1cblxuLy8gU2VsZWN0b3IgU3R5bGUgQnV0dG9uXG5AbWl4aW4gYnV0dG9uc3R5bGUoJHR5cGUsICRiLWNvbG9yLCAkdC1zaXplLCAkcGFkKSB7XG4gIC8vIEdyYXlzY2FsZSBidXR0b25cbiAgQGlmICR0eXBlID09IHNpbXBsZSBhbmQgJGItY29sb3IgPT0gZ3JheXNjYWxlKCRiLWNvbG9yKSB7XG4gICAgQGluY2x1ZGUgc2ltcGxlKCRiLWNvbG9yLCB0cnVlLCAkdC1zaXplLCAkcGFkKTtcbiAgfVxuXG4gIEBpZiAkdHlwZSA9PSBzaGlueSBhbmQgJGItY29sb3IgPT0gZ3JheXNjYWxlKCRiLWNvbG9yKSB7XG4gICAgQGluY2x1ZGUgc2hpbnkoJGItY29sb3IsIHRydWUsICR0LXNpemUsICRwYWQpO1xuICB9XG5cbiAgQGlmICR0eXBlID09IHBpbGwgYW5kICRiLWNvbG9yID09IGdyYXlzY2FsZSgkYi1jb2xvcikge1xuICAgIEBpbmNsdWRlIHBpbGwoJGItY29sb3IsIHRydWUsICR0LXNpemUsICRwYWQpO1xuICB9XG5cbiAgQGlmICR0eXBlID09IGZsYXQgYW5kICRiLWNvbG9yID09IGdyYXlzY2FsZSgkYi1jb2xvcikge1xuICAgIEBpbmNsdWRlIGZsYXQoJGItY29sb3IsIHRydWUsICR0LXNpemUsICRwYWQpO1xuICB9XG5cbiAgLy8gQ29sb3JlZCBidXR0b25cbiAgQGlmICR0eXBlID09IHNpbXBsZSB7XG4gICAgQGluY2x1ZGUgc2ltcGxlKCRiLWNvbG9yLCBmYWxzZSwgJHQtc2l6ZSwgJHBhZCk7XG4gIH1cblxuICBAZWxzZSBpZiAkdHlwZSA9PSBzaGlueSB7XG4gICAgQGluY2x1ZGUgc2hpbnkoJGItY29sb3IsIGZhbHNlLCAkdC1zaXplLCAkcGFkKTtcbiAgfVxuXG4gIEBlbHNlIGlmICR0eXBlID09IHBpbGwge1xuICAgIEBpbmNsdWRlIHBpbGwoJGItY29sb3IsIGZhbHNlLCAkdC1zaXplLCAkcGFkKTtcbiAgfVxuXG4gIEBlbHNlIGlmICR0eXBlID09IGZsYXQge1xuICAgIEBpbmNsdWRlIGZsYXQoJGItY29sb3IsIGZhbHNlLCAkdC1zaXplLCAkcGFkKTtcbiAgfVxufVxuXG4vLyBTaW1wbGUgQnV0dG9uXG5AbWl4aW4gc2ltcGxlKCRiYXNlLWNvbG9yLCAkZ3JheXNjYWxlOiBmYWxzZSwgJHRleHRzaXplOiBpbmhlcml0LCAkcGFkZGluZzogN3B4IDE4cHgpIHtcbiAgJGNvbG9yOiAgICAgICAgIGhzbCgwLCAwLCAxMDAlKTtcbiAgJGJvcmRlcjogICAgICAgIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJHNhdHVyYXRpb246ICA5JSwgICRsaWdodG5lc3M6IC0xNCUpO1xuICAkaW5zZXQtc2hhZG93OiAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkc2F0dXJhdGlvbjogLTglLCAgJGxpZ2h0bmVzczogIDE1JSk7XG4gICRzdG9wLWdyYWRpZW50OiBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRzYXR1cmF0aW9uOiAgOSUsICAkbGlnaHRuZXNzOiAtMTElKTtcbiAgJHRleHQtc2hhZG93OiAgIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJHNhdHVyYXRpb246ICAxNSUsICRsaWdodG5lc3M6IC0xOCUpO1xuXG4gIEBpZiBpcy1saWdodCgkYmFzZS1jb2xvcikge1xuICAgICRjb2xvcjogICAgICAgaHNsKDAsIDAsIDIwJSk7XG4gICAgJHRleHQtc2hhZG93OiBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRzYXR1cmF0aW9uOiAxMCUsICRsaWdodG5lc3M6IDQlKTtcbiAgfVxuXG4gIEBpZiAkZ3JheXNjYWxlID09IHRydWUge1xuICAgICRib3JkZXI6ICAgICAgICBncmF5c2NhbGUoJGJvcmRlcik7XG4gICAgJGluc2V0LXNoYWRvdzogIGdyYXlzY2FsZSgkaW5zZXQtc2hhZG93KTtcbiAgICAkc3RvcC1ncmFkaWVudDogZ3JheXNjYWxlKCRzdG9wLWdyYWRpZW50KTtcbiAgICAkdGV4dC1zaGFkb3c6ICAgZ3JheXNjYWxlKCR0ZXh0LXNoYWRvdyk7XG4gIH1cblxuICBib3JkZXI6IDFweCBzb2xpZCAkYm9yZGVyO1xuICBib3JkZXItcmFkaXVzOiAzcHg7XG4gIGJveC1zaGFkb3c6IGluc2V0IDAgMXB4IDAgMCAkaW5zZXQtc2hhZG93O1xuICBjb2xvcjogJGNvbG9yO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZvbnQtc2l6ZTogJHRleHRzaXplO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgQGluY2x1ZGUgbGluZWFyLWdyYWRpZW50ICgkYmFzZS1jb2xvciwgJHN0b3AtZ3JhZGllbnQpO1xuICBwYWRkaW5nOiAkcGFkZGluZztcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB0ZXh0LXNoYWRvdzogMCAxcHggMCAkdGV4dC1zaGFkb3c7XG4gIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG5cbiAgJjpob3Zlcjpub3QoOmRpc2FibGVkKSB7XG4gICAgJGJhc2UtY29sb3ItaG92ZXI6ICAgIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJHNhdHVyYXRpb246IC00JSwgJGxpZ2h0bmVzczogLTUlKTtcbiAgICAkaW5zZXQtc2hhZG93LWhvdmVyOiAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkc2F0dXJhdGlvbjogLTclLCAkbGlnaHRuZXNzOiAgNSUpO1xuICAgICRzdG9wLWdyYWRpZW50LWhvdmVyOiBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRzYXR1cmF0aW9uOiAgOCUsICRsaWdodG5lc3M6IC0xNCUpO1xuXG4gICAgQGlmICRncmF5c2NhbGUgPT0gdHJ1ZSB7XG4gICAgICAkYmFzZS1jb2xvci1ob3ZlcjogICAgZ3JheXNjYWxlKCRiYXNlLWNvbG9yLWhvdmVyKTtcbiAgICAgICRpbnNldC1zaGFkb3ctaG92ZXI6ICBncmF5c2NhbGUoJGluc2V0LXNoYWRvdy1ob3Zlcik7XG4gICAgICAkc3RvcC1ncmFkaWVudC1ob3ZlcjogZ3JheXNjYWxlKCRzdG9wLWdyYWRpZW50LWhvdmVyKTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBsaW5lYXItZ3JhZGllbnQgKCRiYXNlLWNvbG9yLWhvdmVyLCAkc3RvcC1ncmFkaWVudC1ob3Zlcik7XG5cbiAgICBib3gtc2hhZG93OiBpbnNldCAwIDFweCAwIDAgJGluc2V0LXNoYWRvdy1ob3ZlcjtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gIH1cblxuICAmOmFjdGl2ZTpub3QoOmRpc2FibGVkKSxcbiAgJjpmb2N1czpub3QoOmRpc2FibGVkKSB7XG4gICAgJGJvcmRlci1hY3RpdmU6ICAgICAgIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJHNhdHVyYXRpb246IDklLCAkbGlnaHRuZXNzOiAtMTQlKTtcbiAgICAkaW5zZXQtc2hhZG93LWFjdGl2ZTogYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkc2F0dXJhdGlvbjogNyUsICRsaWdodG5lc3M6IC0xNyUpO1xuXG4gICAgQGlmICRncmF5c2NhbGUgPT0gdHJ1ZSB7XG4gICAgICAkYm9yZGVyLWFjdGl2ZTogICAgICAgZ3JheXNjYWxlKCRib3JkZXItYWN0aXZlKTtcbiAgICAgICRpbnNldC1zaGFkb3ctYWN0aXZlOiBncmF5c2NhbGUoJGluc2V0LXNoYWRvdy1hY3RpdmUpO1xuICAgIH1cblxuICAgIGJvcmRlcjogMXB4IHNvbGlkICRib3JkZXItYWN0aXZlO1xuICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMCA4cHggNHB4ICRpbnNldC1zaGFkb3ctYWN0aXZlLCBpbnNldCAwIDAgOHB4IDRweCAkaW5zZXQtc2hhZG93LWFjdGl2ZTtcbiAgfVxufVxuXG4vLyBTaGlueSBCdXR0b25cbkBtaXhpbiBzaGlueSgkYmFzZS1jb2xvciwgJGdyYXlzY2FsZTogZmFsc2UsICR0ZXh0c2l6ZTogaW5oZXJpdCwgJHBhZGRpbmc6IDdweCAxOHB4KSB7XG4gICRjb2xvcjogICAgICAgICBoc2woMCwgMCwgMTAwJSk7XG4gICRib3JkZXI6ICAgICAgICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRyZWQ6IC0xMTcsICRncmVlbjogLTExMSwgJGJsdWU6IC04MSk7XG4gICRib3JkZXItYm90dG9tOiBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRyZWQ6IC0xMjYsICRncmVlbjogLTEyNywgJGJsdWU6IC0xMjIpO1xuICAkZm91cnRoLXN0b3A6ICAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkcmVkOiAtNzksICAkZ3JlZW46IC03MCwgICRibHVlOiAtNDYpO1xuICAkaW5zZXQtc2hhZG93OiAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkcmVkOiAgMzcsICAkZ3JlZW46ICAyOSwgICRibHVlOiAgMTIpO1xuICAkc2Vjb25kLXN0b3A6ICAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkcmVkOiAtNTYsICAkZ3JlZW46IC01MCwgICRibHVlOiAtMzMpO1xuICAkdGV4dC1zaGFkb3c6ICAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkcmVkOiAtMTQwLCAkZ3JlZW46IC0xNDEsICRibHVlOiAtMTE0KTtcbiAgJHRoaXJkLXN0b3A6ICAgIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJHJlZDogLTg2LCAgJGdyZWVuOiAtNzUsICAkYmx1ZTogLTQ4KTtcblxuICBAaWYgaXMtbGlnaHQoJGJhc2UtY29sb3IpIHtcbiAgICAkY29sb3I6ICAgICAgIGhzbCgwLCAwLCAyMCUpO1xuICAgICR0ZXh0LXNoYWRvdzogYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkc2F0dXJhdGlvbjogMTAlLCAkbGlnaHRuZXNzOiA0JSk7XG4gIH1cblxuICBAaWYgJGdyYXlzY2FsZSA9PSB0cnVlIHtcbiAgICAkYm9yZGVyOiAgICAgICAgZ3JheXNjYWxlKCRib3JkZXIpO1xuICAgICRib3JkZXItYm90dG9tOiBncmF5c2NhbGUoJGJvcmRlci1ib3R0b20pO1xuICAgICRmb3VydGgtc3RvcDogICBncmF5c2NhbGUoJGZvdXJ0aC1zdG9wKTtcbiAgICAkaW5zZXQtc2hhZG93OiAgZ3JheXNjYWxlKCRpbnNldC1zaGFkb3cpO1xuICAgICRzZWNvbmQtc3RvcDogICBncmF5c2NhbGUoJHNlY29uZC1zdG9wKTtcbiAgICAkdGV4dC1zaGFkb3c6ICAgZ3JheXNjYWxlKCR0ZXh0LXNoYWRvdyk7XG4gICAgJHRoaXJkLXN0b3A6ICAgIGdyYXlzY2FsZSgkdGhpcmQtc3RvcCk7XG4gIH1cblxuICBAaW5jbHVkZSBsaW5lYXItZ3JhZGllbnQodG9wLCAkYmFzZS1jb2xvciAwJSwgJHNlY29uZC1zdG9wIDUwJSwgJHRoaXJkLXN0b3AgNTAlLCAkZm91cnRoLXN0b3AgMTAwJSk7XG5cbiAgYm9yZGVyOiAxcHggc29saWQgJGJvcmRlcjtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRib3JkZXItYm90dG9tO1xuICBib3JkZXItcmFkaXVzOiA1cHg7XG4gIGJveC1zaGFkb3c6IGluc2V0IDAgMXB4IDAgMCAkaW5zZXQtc2hhZG93O1xuICBjb2xvcjogJGNvbG9yO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZvbnQtc2l6ZTogJHRleHRzaXplO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgcGFkZGluZzogJHBhZGRpbmc7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB0ZXh0LXNoYWRvdzogMCAtMXB4IDFweCAkdGV4dC1zaGFkb3c7XG5cbiAgJjpob3Zlcjpub3QoOmRpc2FibGVkKSB7XG4gICAgJGZpcnN0LXN0b3AtaG92ZXI6ICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRyZWQ6IC0xMywgJGdyZWVuOiAtMTUsICRibHVlOiAtMTgpO1xuICAgICRzZWNvbmQtc3RvcC1ob3ZlcjogYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkcmVkOiAtNjYsICRncmVlbjogLTYyLCAkYmx1ZTogLTUxKTtcbiAgICAkdGhpcmQtc3RvcC1ob3ZlcjogIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJHJlZDogLTkzLCAkZ3JlZW46IC04NSwgJGJsdWU6IC02Nik7XG4gICAgJGZvdXJ0aC1zdG9wLWhvdmVyOiBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRyZWQ6IC04NiwgJGdyZWVuOiAtODAsICRibHVlOiAtNjMpO1xuXG4gICAgQGlmICRncmF5c2NhbGUgPT0gdHJ1ZSB7XG4gICAgICAkZmlyc3Qtc3RvcC1ob3ZlcjogIGdyYXlzY2FsZSgkZmlyc3Qtc3RvcC1ob3Zlcik7XG4gICAgICAkc2Vjb25kLXN0b3AtaG92ZXI6IGdyYXlzY2FsZSgkc2Vjb25kLXN0b3AtaG92ZXIpO1xuICAgICAgJHRoaXJkLXN0b3AtaG92ZXI6ICBncmF5c2NhbGUoJHRoaXJkLXN0b3AtaG92ZXIpO1xuICAgICAgJGZvdXJ0aC1zdG9wLWhvdmVyOiBncmF5c2NhbGUoJGZvdXJ0aC1zdG9wLWhvdmVyKTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBsaW5lYXItZ3JhZGllbnQodG9wLCAkZmlyc3Qtc3RvcC1ob3ZlciAgMCUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHNlY29uZC1zdG9wLWhvdmVyIDUwJSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkdGhpcmQtc3RvcC1ob3ZlciAgNTAlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRmb3VydGgtc3RvcC1ob3ZlciAxMDAlKTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gIH1cblxuICAmOmFjdGl2ZTpub3QoOmRpc2FibGVkKSxcbiAgJjpmb2N1czpub3QoOmRpc2FibGVkKSB7XG4gICAgJGluc2V0LXNoYWRvdy1hY3RpdmU6IGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJHJlZDogLTExMSwgJGdyZWVuOiAtMTE2LCAkYmx1ZTogLTEyMik7XG5cbiAgICBAaWYgJGdyYXlzY2FsZSA9PSB0cnVlIHtcbiAgICAgICRpbnNldC1zaGFkb3ctYWN0aXZlOiBncmF5c2NhbGUoJGluc2V0LXNoYWRvdy1hY3RpdmUpO1xuICAgIH1cblxuICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMCAyMHB4IDAgJGluc2V0LXNoYWRvdy1hY3RpdmU7XG4gIH1cbn1cblxuLy8gUGlsbCBCdXR0b25cbkBtaXhpbiBwaWxsKCRiYXNlLWNvbG9yLCAkZ3JheXNjYWxlOiBmYWxzZSwgJHRleHRzaXplOiBpbmhlcml0LCAkcGFkZGluZzogN3B4IDE4cHgpIHtcbiAgJGNvbG9yOiAgICAgICAgIGhzbCgwLCAwLCAxMDAlKTtcbiAgJGJvcmRlci1ib3R0b206IGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJGh1ZTogIDgsICRzYXR1cmF0aW9uOiAtMTElLCAkbGlnaHRuZXNzOiAtMjYlKTtcbiAgJGJvcmRlci1zaWRlczogIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJGh1ZTogIDQsICRzYXR1cmF0aW9uOiAtMjElLCAkbGlnaHRuZXNzOiAtMjElKTtcbiAgJGJvcmRlci10b3A6ICAgIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJGh1ZTogLTEsICRzYXR1cmF0aW9uOiAtMzAlLCAkbGlnaHRuZXNzOiAtMTUlKTtcbiAgJGluc2V0LXNoYWRvdzogIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJGh1ZTogLTEsICRzYXR1cmF0aW9uOiAtMSUsICAkbGlnaHRuZXNzOiAgNyUpO1xuICAkc3RvcC1ncmFkaWVudDogYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkaHVlOiAgOCwgJHNhdHVyYXRpb246ICAxNCUsICRsaWdodG5lc3M6IC0xMCUpO1xuICAkdGV4dC1zaGFkb3c6ICAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkaHVlOiAgNSwgJHNhdHVyYXRpb246IC0xOSUsICRsaWdodG5lc3M6IC0xNSUpO1xuXG4gIEBpZiBpcy1saWdodCgkYmFzZS1jb2xvcikge1xuICAgICRjb2xvcjogICAgICAgaHNsKDAsIDAsIDIwJSk7XG4gICAgJHRleHQtc2hhZG93OiBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRzYXR1cmF0aW9uOiAxMCUsICRsaWdodG5lc3M6IDQlKTtcbiAgfVxuXG4gIEBpZiAkZ3JheXNjYWxlID09IHRydWUge1xuICAgICRib3JkZXItYm90dG9tOiBncmF5c2NhbGUoJGJvcmRlci1ib3R0b20pO1xuICAgICRib3JkZXItc2lkZXM6ICBncmF5c2NhbGUoJGJvcmRlci1zaWRlcyk7XG4gICAgJGJvcmRlci10b3A6ICAgIGdyYXlzY2FsZSgkYm9yZGVyLXRvcCk7XG4gICAgJGluc2V0LXNoYWRvdzogIGdyYXlzY2FsZSgkaW5zZXQtc2hhZG93KTtcbiAgICAkc3RvcC1ncmFkaWVudDogZ3JheXNjYWxlKCRzdG9wLWdyYWRpZW50KTtcbiAgICAkdGV4dC1zaGFkb3c6ICAgZ3JheXNjYWxlKCR0ZXh0LXNoYWRvdyk7XG4gIH1cblxuICBib3JkZXI6IDFweCBzb2xpZCAkYm9yZGVyLXRvcDtcbiAgYm9yZGVyLWNvbG9yOiAkYm9yZGVyLXRvcCAkYm9yZGVyLXNpZGVzICRib3JkZXItYm90dG9tO1xuICBib3JkZXItcmFkaXVzOiAxNnB4O1xuICBib3gtc2hhZG93OiBpbnNldCAwIDFweCAwIDAgJGluc2V0LXNoYWRvdztcbiAgY29sb3I6ICRjb2xvcjtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmb250LXNpemU6ICR0ZXh0c2l6ZTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIEBpbmNsdWRlIGxpbmVhci1ncmFkaWVudCAoJGJhc2UtY29sb3IsICRzdG9wLWdyYWRpZW50KTtcbiAgcGFkZGluZzogJHBhZGRpbmc7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB0ZXh0LXNoYWRvdzogMCAtMXB4IDFweCAkdGV4dC1zaGFkb3c7XG4gIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG5cbiAgJjpob3Zlcjpub3QoOmRpc2FibGVkKSB7XG4gICAgJGJhc2UtY29sb3ItaG92ZXI6ICAgIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRsaWdodG5lc3M6IC00LjUlKTtcbiAgICAkYm9yZGVyLWJvdHRvbTogICAgICAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkaHVlOiAgOCwgJHNhdHVyYXRpb246ICAxMy41JSwgJGxpZ2h0bmVzczogLTMyJSk7XG4gICAgJGJvcmRlci1zaWRlczogICAgICAgIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJGh1ZTogIDQsICRzYXR1cmF0aW9uOiAtMiUsICAgICRsaWdodG5lc3M6IC0yNyUpO1xuICAgICRib3JkZXItdG9wOiAgICAgICAgICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRodWU6IC0xLCAkc2F0dXJhdGlvbjogLTE3JSwgICAkbGlnaHRuZXNzOiAtMjElKTtcbiAgICAkaW5zZXQtc2hhZG93LWhvdmVyOiAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAgICAgICAgICAgJHNhdHVyYXRpb246IC0xJSwgICAgJGxpZ2h0bmVzczogIDMlKTtcbiAgICAkc3RvcC1ncmFkaWVudC1ob3ZlcjogYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkaHVlOiAgOCwgJHNhdHVyYXRpb246IC00JSwgICAgJGxpZ2h0bmVzczogLTE1LjUlKTtcbiAgICAkdGV4dC1zaGFkb3ctaG92ZXI6ICAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkaHVlOiAgNSwgJHNhdHVyYXRpb246IC01JSwgICAgJGxpZ2h0bmVzczogLTIyJSk7XG5cbiAgICBAaWYgJGdyYXlzY2FsZSA9PSB0cnVlIHtcbiAgICAgICRiYXNlLWNvbG9yLWhvdmVyOiAgICBncmF5c2NhbGUoJGJhc2UtY29sb3ItaG92ZXIpO1xuICAgICAgJGJvcmRlci1ib3R0b206ICAgICAgIGdyYXlzY2FsZSgkYm9yZGVyLWJvdHRvbSk7XG4gICAgICAkYm9yZGVyLXNpZGVzOiAgICAgICAgZ3JheXNjYWxlKCRib3JkZXItc2lkZXMpO1xuICAgICAgJGJvcmRlci10b3A6ICAgICAgICAgIGdyYXlzY2FsZSgkYm9yZGVyLXRvcCk7XG4gICAgICAkaW5zZXQtc2hhZG93LWhvdmVyOiAgZ3JheXNjYWxlKCRpbnNldC1zaGFkb3ctaG92ZXIpO1xuICAgICAgJHN0b3AtZ3JhZGllbnQtaG92ZXI6IGdyYXlzY2FsZSgkc3RvcC1ncmFkaWVudC1ob3Zlcik7XG4gICAgICAkdGV4dC1zaGFkb3ctaG92ZXI6ICAgZ3JheXNjYWxlKCR0ZXh0LXNoYWRvdy1ob3Zlcik7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbGluZWFyLWdyYWRpZW50ICgkYmFzZS1jb2xvci1ob3ZlciwgJHN0b3AtZ3JhZGllbnQtaG92ZXIpO1xuXG4gICAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkYm9yZGVyLXRvcDtcbiAgICBib3JkZXItY29sb3I6ICRib3JkZXItdG9wICRib3JkZXItc2lkZXMgJGJvcmRlci1ib3R0b207XG4gICAgYm94LXNoYWRvdzogaW5zZXQgMCAxcHggMCAwICRpbnNldC1zaGFkb3ctaG92ZXI7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHRleHQtc2hhZG93OiAwIC0xcHggMXB4ICR0ZXh0LXNoYWRvdy1ob3ZlcjtcbiAgfVxuXG4gICY6YWN0aXZlOm5vdCg6ZGlzYWJsZWQpLFxuICAmOmZvY3VzOm5vdCg6ZGlzYWJsZWQpIHtcbiAgICAkYWN0aXZlLWNvbG9yOiAgICAgICAgIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJGh1ZTogNCwgICRzYXR1cmF0aW9uOiAtMTIlLCAgJGxpZ2h0bmVzczogLTEwJSk7XG4gICAgJGJvcmRlci1hY3RpdmU6ICAgICAgICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRodWU6IDYsICAkc2F0dXJhdGlvbjogLTIuNSUsICRsaWdodG5lc3M6IC0zMCUpO1xuICAgICRib3JkZXItYm90dG9tLWFjdGl2ZTogYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkaHVlOiAxMSwgJHNhdHVyYXRpb246ICA2JSwgICAkbGlnaHRuZXNzOiAtMzElKTtcbiAgICAkaW5zZXQtc2hhZG93LWFjdGl2ZTogIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJGh1ZTogOSwgICRzYXR1cmF0aW9uOiAgMiUsICAgJGxpZ2h0bmVzczogLTIxLjUlKTtcbiAgICAkdGV4dC1zaGFkb3ctYWN0aXZlOiAgIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJGh1ZTogNSwgICRzYXR1cmF0aW9uOiAtMTIlLCAgJGxpZ2h0bmVzczogLTIxLjUlKTtcblxuICAgIEBpZiAkZ3JheXNjYWxlID09IHRydWUge1xuICAgICAgJGFjdGl2ZS1jb2xvcjogICAgICAgICBncmF5c2NhbGUoJGFjdGl2ZS1jb2xvcik7XG4gICAgICAkYm9yZGVyLWFjdGl2ZTogICAgICAgIGdyYXlzY2FsZSgkYm9yZGVyLWFjdGl2ZSk7XG4gICAgICAkYm9yZGVyLWJvdHRvbS1hY3RpdmU6IGdyYXlzY2FsZSgkYm9yZGVyLWJvdHRvbS1hY3RpdmUpO1xuICAgICAgJGluc2V0LXNoYWRvdy1hY3RpdmU6ICBncmF5c2NhbGUoJGluc2V0LXNoYWRvdy1hY3RpdmUpO1xuICAgICAgJHRleHQtc2hhZG93LWFjdGl2ZTogICBncmF5c2NhbGUoJHRleHQtc2hhZG93LWFjdGl2ZSk7XG4gICAgfVxuXG4gICAgYmFja2dyb3VuZDogJGFjdGl2ZS1jb2xvcjtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkYm9yZGVyLWFjdGl2ZTtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGJvcmRlci1ib3R0b20tYWN0aXZlO1xuICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMCA2cHggM3B4ICRpbnNldC1zaGFkb3ctYWN0aXZlO1xuICAgIHRleHQtc2hhZG93OiAwIC0xcHggMXB4ICR0ZXh0LXNoYWRvdy1hY3RpdmU7XG4gIH1cbn1cblxuLy8gRmxhdCBCdXR0b25cbkBtaXhpbiBmbGF0KCRiYXNlLWNvbG9yLCAkZ3JheXNjYWxlOiBmYWxzZSwgJHRleHRzaXplOiBpbmhlcml0LCAkcGFkZGluZzogN3B4IDE4cHgpIHtcbiAgJGNvbG9yOiAgICAgICAgIGhzbCgwLCAwLCAxMDAlKTtcblxuICBAaWYgaXMtbGlnaHQoJGJhc2UtY29sb3IpIHtcbiAgICAkY29sb3I6ICAgICAgIGhzbCgwLCAwLCAyMCUpO1xuICB9XG5cbiAgYmFja2dyb3VuZC1jb2xvcjogJGJhc2UtY29sb3I7XG4gIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgYm9yZGVyOiAwO1xuICBjb2xvcjogJGNvbG9yO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZvbnQtc2l6ZTogJHRleHRzaXplO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgcGFkZGluZzogJHBhZGRpbmc7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcblxuICAmOmhvdmVyOm5vdCg6ZGlzYWJsZWQpe1xuICAgICRiYXNlLWNvbG9yLWhvdmVyOiAgICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRzYXR1cmF0aW9uOiA0JSwgJGxpZ2h0bmVzczogNSUpO1xuXG4gICAgQGlmICRncmF5c2NhbGUgPT0gdHJ1ZSB7XG4gICAgICAkYmFzZS1jb2xvci1ob3ZlcjogZ3JheXNjYWxlKCRiYXNlLWNvbG9yLWhvdmVyKTtcbiAgICB9XG5cbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFzZS1jb2xvci1ob3ZlcjtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gIH1cblxuICAmOmFjdGl2ZTpub3QoOmRpc2FibGVkKSxcbiAgJjpmb2N1czpub3QoOmRpc2FibGVkKSB7XG4gICAgJGJhc2UtY29sb3ItYWN0aXZlOiBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRzYXR1cmF0aW9uOiAtNCUsICRsaWdodG5lc3M6IC01JSk7XG5cbiAgICBAaWYgJGdyYXlzY2FsZSA9PSB0cnVlIHtcbiAgICAgICRiYXNlLWNvbG9yLWFjdGl2ZTogZ3JheXNjYWxlKCRiYXNlLWNvbG9yLWFjdGl2ZSk7XG4gICAgfVxuXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJhc2UtY29sb3ItYWN0aXZlO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgfVxufVxuXG4vLyBGbGV4aWJsZSBncmlkXG5AZnVuY3Rpb24gZmxleC1ncmlkKCRjb2x1bW5zLCAkY29udGFpbmVyLWNvbHVtbnM6ICRmZy1tYXgtY29sdW1ucykge1xuICAkd2lkdGg6ICRjb2x1bW5zICogJGZnLWNvbHVtbiArICgkY29sdW1ucyAtIDEpICogJGZnLWd1dHRlcjtcbiAgJGNvbnRhaW5lci13aWR0aDogJGNvbnRhaW5lci1jb2x1bW5zICogJGZnLWNvbHVtbiArICgkY29udGFpbmVyLWNvbHVtbnMgLSAxKSAqICRmZy1ndXR0ZXI7XG4gIEByZXR1cm4gcGVyY2VudGFnZSgkd2lkdGggLyAkY29udGFpbmVyLXdpZHRoKTtcblxuICBAd2FybiBcIlRoZSBmbGV4LWdyaWQgZnVuY3Rpb24gaXMgZGVwcmVjYXRlZCBhbmQgd2lsbCBiZSByZW1vdmVkIGluIHRoZSBuZXh0IG1ham9yIHZlcnNpb24gcmVsZWFzZVwiO1xufVxuXG4vLyBGbGV4aWJsZSBndXR0ZXJcbkBmdW5jdGlvbiBmbGV4LWd1dHRlcigkY29udGFpbmVyLWNvbHVtbnM6ICRmZy1tYXgtY29sdW1ucywgJGd1dHRlcjogJGZnLWd1dHRlcikge1xuICAkY29udGFpbmVyLXdpZHRoOiAkY29udGFpbmVyLWNvbHVtbnMgKiAkZmctY29sdW1uICsgKCRjb250YWluZXItY29sdW1ucyAtIDEpICogJGZnLWd1dHRlcjtcbiAgQHJldHVybiBwZXJjZW50YWdlKCRndXR0ZXIgLyAkY29udGFpbmVyLXdpZHRoKTtcblxuICBAd2FybiBcIlRoZSBmbGV4LWd1dHRlciBmdW5jdGlvbiBpcyBkZXByZWNhdGVkIGFuZCB3aWxsIGJlIHJlbW92ZWQgaW4gdGhlIG5leHQgbWFqb3IgdmVyc2lvbiByZWxlYXNlXCI7XG59XG5cbkBmdW5jdGlvbiBncmlkLXdpZHRoKCRuKSB7XG4gIEByZXR1cm4gJG4gKiAkZ3ctY29sdW1uICsgKCRuIC0gMSkgKiAkZ3ctZ3V0dGVyO1xuXG4gIEB3YXJuIFwiVGhlIGdyaWQtd2lkdGggZnVuY3Rpb24gaXMgZGVwcmVjYXRlZCBhbmQgd2lsbCBiZSByZW1vdmVkIGluIHRoZSBuZXh0IG1ham9yIHZlcnNpb24gcmVsZWFzZVwiO1xufVxuXG5AZnVuY3Rpb24gZ29sZGVuLXJhdGlvKCR2YWx1ZSwgJGluY3JlbWVudCkge1xuICBAcmV0dXJuIG1vZHVsYXItc2NhbGUoJGluY3JlbWVudCwgJHZhbHVlLCAkcmF0aW86ICRnb2xkZW4pO1xuXG4gIEB3YXJuIFwiVGhlIGdvbGRlbi1yYXRpbyBmdW5jdGlvbiBpcyBkZXByZWNhdGVkIGFuZCB3aWxsIGJlIHJlbW92ZWQgaW4gdGhlIG5leHQgbWFqb3IgdmVyc2lvbiByZWxlYXNlLiBQbGVhc2UgdXNlIHRoZSBtb2R1bGFyLXNjYWxlIGZ1bmN0aW9uLCBpbnN0ZWFkLlwiO1xufVxuXG5AbWl4aW4gYm94LXNpemluZygkYm94KSB7XG4gIEBpbmNsdWRlIHByZWZpeGVyKGJveC1zaXppbmcsICRib3gsIHdlYmtpdCBtb3ogc3BlYyk7XG5cbiAgQHdhcm4gXCJUaGUgYm94LXNpemluZyBtaXhpbiBpcyBkZXByZWNhdGVkIGFuZCB3aWxsIGJlIHJlbW92ZWQgaW4gdGhlIG5leHQgbWFqb3IgdmVyc2lvbiByZWxlYXNlLiBUaGlzIHByb3BlcnR5IGNhbiBub3cgYmUgdXNlZCB1bi1wcmVmaXhlZC5cIjtcbn1cbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7OztnR0FJZ0c7QUNKaEc7Ozs7Z0dBSWdHO0FBRWhHLDZDQUE2QztBQW9FN0M7Z0dBQ2dHO0FBYWhHLFFBQVE7QURqRlIsV0FBVztBQUNYLEFBQUEsWUFBWSxDQUFBO0VBQ1gsT0FBTyxFQUFFLFlBQVk7RUFBQyxTQUFTLEVBQUUsSUFBSTtFQUFDLEtBQUssRUN5RXBDLElBQUk7RUR6RXlDLFVBQVUsRUMyRXhELE9BQU87RUQzRXlELFVBQVUsRUFBRSxNQUFNO0VBQUMsTUFBTSxFQUFFLElBQUk7RUFBQyxXQUFXLEVBQUUsSUFBSTtFQ2VwSCxhQUFhLEVEZjhILElBQUk7RUNnQi9JLHFCQUFxQixFRGhCc0gsSUFBSTtFQ2lCL0ksa0JBQWtCLEVEakJ5SCxJQUFJO0VDa0IvSSxpQkFBaUIsRURsQjBILElBQUk7RUNtQi9JLGdCQUFnQixFRG5CMkgsSUFBSTtFQUFFLE1BQU0sRUFBRSxHQUFHLENBQUMsS0FBSyxDQzJFL0osT0FBTztFQTFFVixVQUFVLEVERG1MLElBQUcsQ0FBQyxHQUFHLENBQUMsUUFBUTtFQ0U3TSxrQkFBa0IsRURGMkssSUFBRyxDQUFDLEdBQUcsQ0FBQyxRQUFRO0VDRzdNLGVBQWUsRURIOEssSUFBRyxDQUFDLEdBQUcsQ0FBQyxRQUFRO0VDSTdNLGNBQWMsRURKK0ssSUFBRyxDQUFDLEdBQUcsQ0FBQyxRQUFRO0VDSzdNLGFBQWEsRURMZ0wsSUFBRyxDQUFDLEdBQUcsQ0FBQyxRQUFRO0VBQUUsT0FBTyxFQUFFLE1BQU07RUNnRDlOLGtCQUFrQixFRGhEZ08sVUFBVTtFQ2lENVAsZUFBZSxFRGpEbU8sVUFBVTtFQ2tENVAsVUFBVSxFRGxEd08sVUFB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ajNCOUMsYUFBYSxFRGkzQm1CLGNBQWM7RUNoM0I5QyxZQUFZLEVEZzNCb0IsY0FBYztDQUFJOztBQXhDdEQsQUEyQ0csTUEzQ0csQ0FFTCxRQUFRLENBa0NQLFVBQVUsQUFPUixNQUFNLENBQUE7RUFBQyxVQUFVLEVDcHpCZCxPQUFPO0NEb3pCaUI7O0FBM0MvQixBQStDRSxNQS9DSSxDQThDTCxZQUFZLENBQ1gsQ0FBQyxDQUFBO0VBQ0EsT0FBTyxFQUFFLFlBQVk7RUFBQyxLQUFLLEVBQUUsSUFBSTtFQUFDLE1BQU0sRUFBRSxJQUFJO0VDcjNCN0MsYUFBYSxFRHEzQnVELElBQUk7RUNwM0J4RSxxQkFBcUIsRURvM0IrQyxJQUFJO0VDbjNCeEUsa0JBQWtCLEVEbTNCa0QsSUFBSTtFQ2wzQnhFLGlCQUFpQixFRGszQm1ELElBQUk7RUNqM0J4RSxnQkFBZ0IsRURpM0JvRCxJQUFJO0VBQUUsUUFBUSxFQUFFLFFBQVE7RUFBQyxHQUFHLEVBQUUsR0FBRztFQUFDLE1BQU0sRUFBRSxpQkFBaUI7RUFBQyxVQUFVLEVBQUUsS0FBSztFQ240QmpKLFVBQVUsRURtNEI0SixJQUFHLENBQUMsR0FBRyxDQUFDLFFBQVE7RUNsNEJ0TCxrQkFBa0IsRURrNEJvSixJQUFHLENBQUMsR0FBRyxDQUFDLFFBQVE7RUNqNEJ0TCxlQUFlLEVEaTRCdUosSUFBRyxDQUFDLEdBQUcsQ0FBQyxRQUFRO0VDaDRCdEwsY0FBYyxFRGc0QndKLElBQUcsQ0FBQyxHQUFHLENBQUMsUUFBUTtFQy8zQnRMLGFBQWEsRUQrM0J5SixJQUFHLENBQUMsR0FBRyxDQUFDLFFBQVE7Q0FLdkw7O0FBckRILEFBaURHLE1BakRHLENBOENMLFlBQVksQ0FDWCxDQUFDLEFBRUMsS0FBSyxDQUFBO0VBQUMsSUFBSSxFQUFDLEtBQUs7RUFBQyxVQUFVLEVBQUUsMkNBQTJDLENBQUMsU0FBUyxDQUFDLE1BQU07Q0FBRzs7QUFqRGhHLEFBa0RHLE1BbERHLENBOENMLFlBQVksQ0FDWCxDQUFDLEFBR0MsS0FBSyxDQUFBO0VBQUMsS0FBSyxFQUFDLEtBQUs7RUFBQyxVQUFVLEVBQUUsMkNBQTJDLENBQUMsU0FBUyxDQUFDLE1BQU07Q0FBRzs7QUFsRGpHLEFBb0RHLE1BcERHLENBOENMLFlBQVksQ0FDWCxDQUFDLEFBS0MsTUFBTSxDQUFBO0VBQUMsZ0JBQWdCLEVBQUUsd0JBQW9CO0NBQUciLCJzb3VyY2VSb290IjoiL3NvdXJjZS8ifQ== */
